选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
a ´iŒ„ã@sRdZddlmZmZmZddlmZddlZddlZddl Z ddl m Z ddl mZddlZddlZddlZgd¢Zdadad d „Zd d „Zd d„Zdd„Zeadadejdddfdd„Zd1dd„Zdd„Zdd„ZGdd„dƒZ Gdd„dƒZ!ejfd d!„Z"d2d"d#„Z#ejfd$d%„Z$d&d'„Z%d(d)„Z&d*d+„Z'd,d-„Z(d.d/„Z)e*d0k�rNe"ƒdS)3z2.6é)ÚStringIOÚBytesIOÚ TextIOWrapper)ÚMappingN)Ú FeedParser)ÚMessage) ÚMiniFieldStorageÚ FieldStorageÚparseÚparse_multipartÚ parse_headerÚtestÚprint_exceptionÚ print_environÚ print_formÚprint_directoryÚprint_argumentsÚprint_environ_usageÚcGsDtr*ts*zttdƒaWnty(Yn0ts4tantat|ŽdS)NÚa)ÚlogfileÚlogfpÚopenÚOSErrorÚnologÚlogÚdolog©Zallargs©rú/usr/lib64/python3.9/cgi.pyÚinitlog8s r cGst ||d¡dS)NÚ )rÚwrite)ÚfmtÚargsrrrr[srcGsdS©Nrrrrrr_srcCsdatrt ¡datadS)Nr)rrÚcloser rrrrrÚcloselogcs r'ú&c Cs^|durtj}t|dƒr |j}nd}t|tƒr4|j}d|vrDd|d<|ddk�r t|dƒ\}}|dkrxt|||d�S|d kr²t |d ƒ}t r |t kr t d ƒ‚|  |¡  |¡} nd } d |vrØ| rÊ| d} | |d } n*tjdd…�r| rô| d} | tjd} | |d <nÕóz#parse_multipart..)r=ÚformatrZset_typeÚKeyErrorr )rArFr)rMr.rJrErLrrQrr ¼s    ÿr ccs˜|dd…dkr”|dd…}| d¡}|dkr`| dd|¡| dd|¡dr`| d|d¡}q&|dkrpt|ƒ}|d|…}| ¡V||d…}qdS)Nr3ú;rú"ú\"é)ÚfindÚcountÚlenÚstrip)ÚsÚendÚfrrrÚ _parseparam×s  (  rbcCs¸td|ƒ}| ¡}i}|D]’}| d¡}|dkr|d|… ¡ ¡}||dd… ¡}t|ƒdkr¦|d|dkr‚dkr¦nn |dd…}| dd ¡ d d¡}|||<q||fS) NrWú=rr3rZéÿÿÿÿrXz\\ú\rY)rbÚ__next__r[r^Úlowerr]rI)ÚlineÚpartsÚkeyrFÚpÚiÚnameÚvaluerrrr ãs  ,  r c@s<eZdZdZdZdZdZiZdZiZ iZ dd„Z dd„Z dS)rNcCs||_||_dSr%©rmrn©ÚselfrmrnrrrÚ__init__ szMiniFieldStorage.__init__cCsd|j|jfS)NzMiniFieldStorage(%r, %r)ro©rqrrrÚ__repr__szMiniFieldStorage.__repr__) Ú__name__Ú __module__Ú __qualname__ÚfilenameÚlistÚtypeÚfileÚ type_optionsÚ dispositionÚdisposition_optionsrLrrrtrrrrrûsrc @súeZdZdddejdddddddf dd„Zd d „Zd d „Zd d„Zdd„Z dd„Z dd„Z dd„Z d:dd„Z d;dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„ZdZd'd(„Zd)d*„Zd+Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Zd8d9„ZdS)ÚencodeÚlocaleÚgetpreferredencodingrr7rrÚ TypeErrorrLr5r8rArr6r)rMÚbytesrzruÚ outerboundaryÚ bytes_readÚlimitr r}r~rmrxÚ _binary_filer|Ú innerboundaryr9r;r:Úlengthryr{ÚdoneÚread_urlencodedÚ read_multiÚ read_single)rqrArLr‹rBrCrDr�r)rMrƒr.ÚmethodrGZcdisprFrEZclenrrrrr?s¶/   ÿ       ÿ            ÿ    zFieldStorage.__init__cCs&z|j ¡Wnty Yn0dSr%)r{r&ÚAttributeErrorrsrrrÚ__del__äs zFieldStorage.__del__cCs|Sr%rrsrrrÚ __enter__êszFieldStorage.__enter__cGs|j ¡dSr%)r{r&)rqr$rrrÚ__exit__íszFieldStorage.__exit__cCsd|j|j|jfS)NzFieldStorage(%r, %r, %r))rmrxrnrsrrrrtðs ÿzFieldStorage.__repr__cCs t| ¡ƒSr%)ÚiterÚkeysrsrrrÚ__iter__õszFieldStorage.__iter__cCsT|dkrt|ƒ‚|jr:|j d¡|j ¡}|j d¡n|jdurL|j}nd}|S)Nrnr)r–r{Úseekr<ryrprrrÚ __getattr__øs   zFieldStorage.__getattr__cCs^|jdurtdƒ‚g}|jD]}|j|kr| |¡q|sBt|ƒ‚t|ƒdkrV|dS|SdS)Nú not indexabler3r)ryr‰rmÚappendrVr])rqrjÚfoundÚitemrrrÚ __getitem__s   zFieldStorage.__getitem__cCs8||vr0||}t|tƒr(dd„|DƒS|jSn|SdS)NcSsg|] }|j‘qSr©rn©rOÚxrrrÚ rTz)FieldStorage.getvalue..©r7ryrn©rqrjÚdefaultrnrrrÚgetvalues  zFieldStorage.getvaluecCs4||vr,||}t|tƒr$|djS|jSn|SdS©Nrr¨r©rrrÚgetfirsts   zFieldStorage.getfirstcCs:||vr2||}t|tƒr(dd„|DƒS|jgSngSdS)NcSsg|] }|j‘qSrr¤r¥rrrr§.rTz(FieldStorage.getlist..r¨)rqrjrnrrrrN)s   zFieldStorage.getlistcCs*|jdurtdƒ‚ttdd„|jDƒƒƒS)NrŸcss|] }|jVqdSr%©rm©rOr¢rrrÚ 8rTz$FieldStorage.keys..)ryr‰Úsetrsrrrr›4s zFieldStorage.keyscs*|jdurtdƒ‚t‡fdd„|jDƒƒS)NrŸc3s|]}|jˆkVqdSr%r®r¯©rjrrr°>rTz,FieldStorage.__contains__..)ryr‰Úany)rqrjrr²rÚ __contains__:s zFieldStorage.__contains__cCs t| ¡ƒSr%)r]r›rsrrrÚ__len__@szFieldStorage.__len__cCs|jdurtdƒ‚t|jƒS)NzCannot be converted to bool.)ryr‰ÚboolrsrrrÚ__bool__Ds zFieldStorage.__bool__c Cs–|j |j¡}t|tƒs0td|jt|ƒjfƒ‚| |j |j ¡}|j rT|d|j 7}t j j||j|j|j |j |j|jd�}dd„|Dƒ|_| ¡dS)Nú%s should return bytes, got %sr(©r)rMrƒr.cSsg|]\}}t||ƒ‘qSr©r©rOrjrnrrrr§VrTz0FieldStorage.read_urlencoded..)rAr<r�r7rŠr;rzrur=r)rMr…r?r Ú parse_qslrCrDrƒr.ryÚ skip_lines)rqrGÚqueryrrrr’Is ÿ ýzFieldStorage.read_urlencodedc CsL|j}t|ƒstd|fƒ‚g|_|jrftjj|j|j|j |j |j |j |j d�}|j dd„|Dƒ¡|jpp|j}|j ¡}t|tƒsžtd|jt|ƒjfƒ‚|jt|ƒ7_| ¡d|jkrä|rä|j ¡}|jt|ƒ7_q°|j }|du�r|t|jƒ8}tƒ} d} |j ¡} | | 7} |  ¡�s �q0�q | �s:�q@|jt| ƒ7_|  |  |j |j ¡¡|  ¡} d| v�rz| d=|jdu�rŠdn |j|j} ||j| ||||| |j |j ||j ƒ }|du�rô|d 8}|j�râ|t|jƒ8}|d k�rôtd ƒ‚|j|j7_|j |¡|j �s@|j|j!k�r4d k�rnn�q@�q| "¡dS) Nz&Invalid boundary in multipart form: %rr¹css|]\}}t||ƒVqdSr%rºr»rrrr°frTz*FieldStorage.read_multi..r¸ó--rTr€r3rzMax number of fields exceeded)#r�Úvalid_boundaryr;ryr…r?r r¼rCrDr)rMrƒr.ÚextendÚFieldStorageClassÚ __class__rAr�r7rŠrzrurŒr]r^rZfeedr=r&r�r r‘r�r½)rqrBrCrDZibr¾ÚklassZ first_linerƒÚparserZhdr_textÚdatarLr�Úpartrrrr“[sr ý   ÿÿ      ÿþ   (zFieldStorage.read_multicCs4|jdkr| ¡| ¡n| ¡|j d¡dSr¬)r�Ú read_binaryr½Ú read_linesr{r�rsrrrr” s   zFieldStorage.read_singlei cCs’| ¡|_|j}|dkrŽ|dkrŽ|j t||jƒ¡}t|tƒsVt d|jt |ƒj fƒ‚|j t |ƒ7_ |std|_qŽ|j |¡|t |ƒ}qdS)Nrr¸rd)Ú make_filer{r�rAr<ÚminÚbufsizer7rŠr;rzrurŒr]r‘r")rqZtodorÆrrrrÈ«s  ÿ zFieldStorage.read_binarycCs@|jrtƒ|_|_ntƒ|_|_|jr4| ¡n| ¡dSr%)rŽrr{Ú_FieldStorage__filerr‹Úread_lines_to_outerboundaryÚread_lines_to_eofrsrrrrɼs  zFieldStorage.read_linescCsv|jdurF|j ¡t|ƒdkrF| ¡|_|j ¡}|j |¡d|_|jrZ|j |¡n|j | |j |j ¡¡dS)Niè) rÍÚtellr]rÊr{r«r"rŽr=r)rM)rqrhrÆrrrZ__writeÇs    zFieldStorage.__writecCs:|j d¡}|jt|ƒ7_|s*d|_q6| |¡qdS)Nérd)rAr�rŒr]r‘Ú_FieldStorage__write)rqrhrrrrÏÖs  zFieldStorage.read_lines_to_eofc CsJd|j}|d}d}d}d}|jdurFd|jkr>|krFnn�qF|j d¡}|jt|ƒ7_|t|ƒ7}|s~d|_�qF|dkr’||}d}| d¡rÆ|rÆ| ¡}||kr´�qF||krÆd|_�qF|}|  d ¡rêd }|dd …}d}nL|  d ¡�r d }|dd…}d}n*|  d¡�r.d}|dd…}d }nd}d }|  ||¡qdS) Nr¿rTTrrÑrdó r3s éþÿÿÿó F) r‹r�rAr�rŒr]r‘Ú startswithÚrstripÚendswithrÒ) rqÚ next_boundaryÚ last_boundaryÚdelimÚlast_line_lfendÚ_readrhÚ strippedlineZodelimrrrrÎàsN $        z(FieldStorage.read_lines_to_outerboundarycCs�|jr |jrdSd|j}|d}d}|j d¡}|jt|ƒ7_|sPd|_qŒ| d¡r€|r€| ¡}||krpqŒ||kr€d|_qŒ| d¡}q&dS)Nr¿TrÑrdr3rÕ)r‹r‘rAr�rŒr]rØr^)rqrÙrÚrÜrhrÞrrrr½s$   zFieldStorage.skip_linescCs&|jrt d¡Stjd|jdd�SdS)Nzwb+zw+r!)r)Únewline)rŽÚtempfileÚ TemporaryFiler)rsrrrrÊ(s  ÿzFieldStorage.make_file)N)N) rurvrwÚosrBrrr—r˜r™rtrœržr£r«r­rNr›r´rµr·r’rÂr“r”rÌrÈrÉrÒrÏrÎr½rÊrrrrr s@+ý &   E   2r cCsÂtdƒtƒtjt_zNtƒ}tƒtƒt|ƒt|ƒt ƒdd„}|fdd„}tdƒ|ƒWnt ƒYn0tdƒda z&tƒ}tƒtƒt|ƒt|ƒWnt ƒYn0dS) NzContent-type: text/htmlcSs tdƒdS)Nz,testing print_exception() -- italics?)Úexecrrrrra[sztest..fcSs |ƒdSr%r)rarrrÚg]sztest..gz9

What follows is a test, not an actual exception:

z*

Second try with a small maxlen...

é2) Úprintr4ÚstdoutÚstderrr rrrrrrr:)rBÚformrarärrrr Js4    r c Csx|durt ¡\}}}ddl}tƒtdƒ| ||¡| ||¡}tdt d |dd…¡¡t |d¡fƒ~dS)Nrz+

Traceback (most recent call last):

z
%s%s
rrd) r4Úexc_infoÚ tracebackræÚ format_tbÚformat_exception_onlyÚhtmlÚescapeÚjoin)rzrnÚtbr�rëryrrrrqs  ÿ þrc Cs\t| ¡ƒ}tƒtdƒtdƒ|D]"}tdt |¡dt ||¡ƒq&tdƒtƒdS)Nz

Shell Environment:

ú
ú
ú
ú
)Úsortedr›rærîrï)rBr›rjrrrrs  rcCs t| ¡ƒ}tƒtdƒ|s&tdƒtdƒ|D]Z}tdt |¡ddd�||}tdt tt|ƒƒ¡d ƒtd t t|ƒ¡ƒq2td ƒtƒdS) Nz

Form Contents:

z

No form fields.ròróú:ú )r`zzrôrõ)rör›rærîrïÚreprrz)rér›rjrnrrrrŠs rc Csltƒtdƒz t ¡}Wn8tyR}z tdt t|ƒ¡ƒWYd}~nd}~00tt |¡ƒtƒdS)Nz#

Current Working Directory:

zOSError:)rærâÚgetcwdrrîrïÚstr)ÚpwdÚmsgrrrršs *rcCs(tƒtdƒtƒttjƒtƒdS)Nz

Command Line Arguments:

)rær4r>rrrrr¦s  rcCs tdƒdS)NaØ

These environment variables could have been set:

  • AUTH_TYPE
  • CONTENT_LENGTH
  • CONTENT_TYPE
  • DATE_GMT
  • DATE_LOCAL
  • DOCUMENT_NAME
  • DOCUMENT_ROOT
  • DOCUMENT_URI
  • GATEWAY_INTERFACE
  • LAST_MODIFIED
  • PATH
  • PATH_INFO
  • PATH_TRANSLATED
  • QUERY_STRING
  • REMOTE_ADDR
  • REMOTE_HOST
  • REMOTE_IDENT
  • REMOTE_USER
  • REQUEST_METHOD
  • SCRIPT_NAME
  • SERVER_NAME
  • SERVER_PORT
  • SERVER_PROTOCOL
  • SERVER_ROOT
  • SERVER_SOFTWARE
In addition, HTTP headers sent by the server may be passed in the environment as well. Here are some common variable names:
  • HTTP_ACCEPT
  • HTTP_CONNECTION
  • HTTP_HOST
  • HTTP_PRAGMA
  • HTTP_REFERER
  • HTTP_USER_AGENT
)rærrrrr­srcCs(ddl}t|tƒrd}nd}| ||¡S)Nrs^[ -~]{0,200}[!-~]$z^[ -~]{0,200}[!-~]$)Úrer7rŠÚmatch)r_rþZ _vb_patternrrrrÀÜs  rÀÚ__main__)rHrIr()NNNN)+Ú __version__ÚiorrrÚcollections.abcrr4râÚ urllib.parser?Z email.parserrZ email.messagerrîr‡ràÚ__all__rrr rrr'rr:rBr r rbr rr r rrrrrrrÀrurrrrÚsR   # ÿ F  :'   /