ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib64/python3.6/__pycache__/cgi.cpython-36.opt-2.pyc
3

ic@sdZddlmZmZmZddlmZddlZddlZddl	Z
ddlmZddl
mZddlmZddlZddlZddlZdd	d
ddd
dddddddddgZdadaddZddZddZddZeadadejdddfd d
Zd4d!dZd5d"dZ d#d
Z!d$d%Z"d&dZ#Gd'ddZ$Gd(d	d	Z%ejfd)dZ&d6d*dZ'ejfd+dZ(d,dZ)d-dZ*d.dZ+d/dZ,d7d0dZ-d1d2Z.e/d3kre&dS)8z2.6)StringIOBytesIO
TextIOWrapper)MappingN)
FeedParser)Message)warnMiniFieldStorageFieldStorageparseparse_qs	parse_qslparse_multipartparse_headertestprint_exception
print_environ
print_formprint_directoryprint_argumentsprint_environ_usageescapecGsHtr.tr.yttdaWntk
r,YnXts8tantat|dS)Na)logfilelogfpopenOSErrornologlogdolog)allargsr"/usr/lib64/python3.6/cgi.pyinitlog:s
r$cGstj||ddS)N
)rwrite)Zfmtargsr"r"r#r ]sr cGsdS)Nr")r!r"r"r#rasrcCsdatrtjdatadS)Nr)rrcloser$rr"r"r"r#closeloges
r)c
Cs\|dkrtj}t|dr |j}nd}t|tr4|j}d|krDd|d<|ddkrt|d\}}|dkrxt|||dS|d	krt	|d
}t
r|t
krtd|j|j
|}	nd}	d
|kr|	r|	d}	|	|d
}	n*tjddr|	r|	d}	|	tjd}	|	|d
<n<d
|kr |d
}	n(tjddr<tjd}	nd}	|	|d
<tjj|	|||dS)Nencodingzlatin-1REQUEST_METHODGETPOSTCONTENT_TYPEzmultipart/form-data)	separatorz!application/x-www-form-urlencodedCONTENT_LENGTHzMaximum content length exceededrQUERY_STRING&)r*)sysstdinhasattrr*
isinstancerbufferrrintmaxlen
ValueErrorreaddecodeargvurllibrr)
fpenvironkeep_blank_valuesstrict_parsingr/r*ctypepdictclengthqsr"r"r#rxsH




cCs tdtdtjj||||dS)Nz=cgi.parse_qs is deprecated, use urllib.parse.parse_qs instead)r/)rDeprecationWarningr?rr)rGrBrCr/r"r"r#rscCs tdtdtjj||||dS)Nz?cgi.parse_qsl is deprecated, use urllib.parse.parse_qsl insteadrH)r/)rrIr?rr
)rGrBrCr/r"r"r#r
scCsddl}d}d|kr|d}t|s2td|fd|}d|d}i}d}x||krd}d}	|r|jj|}
|
jd}|ryt|}Wntk
rYnX|dkrtr|tkrtd|j|}	nd}	g}xD|j	}
|
s|}P|
j
dr|
j}|||fkrP|j|
qW|	dkr&qR|dkr|r|d}
|
ddd
kr^|
dd}
n|
dddkr||
dd}
|
|d<dj
|}	|
d}
|
sqRt|
\}}|d
krqRd|krR|d}nqR||kr||j|	qR|	g||<qRW|S)Nrboundaryz&Invalid boundary in multipart form: %rs--r3zcontent-lengthzMaximum content length exceededrHs

zcontent-dispositionz	form-datanamerNrOrNrNrN)Zhttp.clientvalid_boundaryr;ZclientZ
parse_headersgetr9r:r<readline
startswithrstripappendjoinr)r@rEZhttprKZnextpartZlastpartZpartdict
terminatorbytesdataheadersrFlineslinekeyZparamsrMr"r"r#rs|







ccsx|dddkr|dd}|jd}x<|dkrd|jdd||jdd|drd|jd|d}q*W|dkrvt|}|d|}|jV||d}qWdS)Nr3;r"z\"rH)findcountlenstrip)sendfr"r"r#_parseparam/s
*
rgcCstd|}|j}i}x|D]}|jd}|dkr|d|jj}||ddj}t|dkr|d|d
kodknr|dd}|jddjd	d}|||<qW||fS)Nr^=rr3rHr_z\\\z\"rNrN)rg__next__r`rclowerrbreplace)r\partsr]rEpirMvaluer"r"r#r;s

,c@s<eZdZdZdZdZdZiZdZiZ	iZ
ddZddZdS)r	NcCs||_||_dS)N)rMrp)selfrMrpr"r"r#__init__aszMiniFieldStorage.__init__cCsd|j|jfS)NzMiniFieldStorage(%r, %r))rMrp)rqr"r"r#__repr__gszMiniFieldStorage.__repr__)
__name__
__module____qualname__filenamelisttypefiletype_optionsdispositiondisposition_optionsrZrrrsr"r"r"r#r	Ssc@seZdZdddejdddddddfddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZd:ddZ
d;ddZddZddZddZd d!Zd"d#Zd$d%ZdZd&d'Zd(d)Zd<Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9ZdS)=r
NrJrzutf-8rlcCsRd}||_||_|
|_||_d|kr0|dj}d|_|dksF|dkrd|krX|d}
ntjddrrtjd}
nd}
|
jt	j
d}
t|
}|dkrdd	i}|dkri}|d
krd	|d<d|kr|d|d<d|kr|d|_d|kr|d|d
<nt|t
tfstd||_|dkr*tjj|_n<t|tr@|j|_n&t|doTt|ds`td||_||_|	|_t|tstdt|j||_d|_||_di}}d|jkrt|jd\}}||_||_ d|_!d|kr|d|_!d|_"d|kr
|d|_"|j"dk	|_#d|jkr6t|jd\}}n(|jsH|d
krTdi}}n
d	i}}||_||_$d|kr|dj|j|_%nd|_%d}d
|jkryt&|jd
}Wnt'k
rYnXt(r|t(krt'd||_)|jdkr|r||_d|_*|_+d|_,|d	kr$|j-n*|dddkrF|j.|||n|j/dS)Nr,r+ZHEADr1r3rsurrogateescapezcontent-typez!application/x-www-form-urlencodedr-r.r0zcontent-lengthz?headers must be mapping or an instance of email.message.Messager<rRzfp must be file pointerz#outerboundary must be bytes, not %srzcontent-dispositionrMrwz
text/plainrKrJzMaximum content length exceeded
z
multipart/rN)0rBrCmax_num_fieldsr/upper
qs_on_postr4r>encodelocalegetpreferredencodingrr7rr	TypeErrorrZr5r8r@rr6r*errorsrXryrt
outerboundary
bytes_readlimitrr|r}rMrw_binary_filer{
innerboundaryr9r;r:lengthrxrzdoneread_urlencoded
read_multiread_single)rqr@rZrrArBrCrr*rrr/methodrGZcdisprErDZclenr"r"r#rrs/












zFieldStorage.__init__cCs(y|jjWntk
r"YnXdS)N)rzr(AttributeError)rqr"r"r#__del__;szFieldStorage.__del__cCs|S)Nr")rqr"r"r#	__enter__AszFieldStorage.__enter__cGs|jjdS)N)rzr()rqr'r"r"r#__exit__DszFieldStorage.__exit__cCsd|j|j|jfS)NzFieldStorage(%r, %r, %r))rMrwrp)rqr"r"r#rsGszFieldStorage.__repr__cCst|jS)N)iterkeys)rqr"r"r#__iter__LszFieldStorage.__iter__cCsT|dkrt||jr:|jjd|jj}|jjdn|jdk	rL|j}nd}|S)Nrpr)rrzseekr<rx)rqrMrpr"r"r#__getattr__Os

zFieldStorage.__getattr__cCsb|jdkrtdg}x"|jD]}|j|kr|j|qW|sFt|t|dkrZ|dS|SdS)Nz
not indexabler3r)rxrrMrUKeyErrorrb)rqr]founditemr"r"r#__getitem__\s

zFieldStorage.__getitem__cCs8||kr0||}t|tr(dd|DS|jSn|SdS)NcSsg|]
}|jqSr")rp).0xr"r"r#
<listcomp>osz)FieldStorage.getvalue.<locals>.<listcomp>)r7rxrp)rqr]defaultrpr"r"r#getvaluejs
zFieldStorage.getvaluecCs4||kr,||}t|tr$|djS|jSn|SdS)Nr)r7rxrp)rqr]rrpr"r"r#getfirstus

zFieldStorage.getfirstcCs:||kr2||}t|tr(dd|DS|jgSngSdS)NcSsg|]
}|jqSr")rp)rrr"r"r#rsz(FieldStorage.getlist.<locals>.<listcomp>)r7rxrp)rqr]rpr"r"r#getlists

zFieldStorage.getlistcCs*|jdkrtdttdd|jDS)Nz
not indexablecss|]}|jVqdS)N)rM)rrr"r"r#	<genexpr>sz$FieldStorage.keys.<locals>.<genexpr>)rxrset)rqr"r"r#rs
zFieldStorage.keyscs*|jdkrtdtfdd|jDS)Nz
not indexablec3s|]}|jkVqdS)N)rM)rr)r]r"r#rsz,FieldStorage.__contains__.<locals>.<genexpr>)rxrany)rqr]r")r]r#__contains__s
zFieldStorage.__contains__cCst|jS)N)rbr)rqr"r"r#__len__szFieldStorage.__len__cCs|jdkrtdt|jS)NzCannot be converted to bool.)rxrbool)rqr"r"r#__bool__s
zFieldStorage.__bool__c	Cs|jj|j}t|ts0td|jt|jf|j|j	|j
}|jrT|d|j7}tj
j||j|j|j	|j
|j|jd}dd|D|_|jdS)Nz%s should return bytes, got %sr2)r*rrr/cSsg|]\}}t||qSr")r	)rr]rpr"r"r#rsz0FieldStorage.read_urlencoded.<locals>.<listcomp>)r@r<rr7rXr;ryrtr=r*rrr?rr
rBrCrr/rx
skip_lines)rqrGqueryr"r"r#rs

zFieldStorage.read_urlencodedc
CsB|j}t|std|fg|_|jrftjj|j|j|j	|j
|j|j|j
d}|jjdd|D|jpp|j}|jj}t|tstd|jt|jf|jt|7_x6|jd|jkr|r|jj}|jt|7_qW|j}|dk	r|t|j8}x,t}	d}
x$|jj}|
|7}
|jsPqW|
sBP|jt|
7_|	j|
j|j
|j|	j}d|kr|d=||j||||||j|j|j
|j||j
d	}
|dk	r|d
8}|
jr|t|
j8}|dkrtd|j|
j7_|jj|
|
j s.|j|j!ko&dknr
Pq
W|j"dS)
Nz&Invalid boundary in multipart form: %r)r*rrr/css|]\}}t||VqdS)N)r	)rr]rpr"r"r#rsz*FieldStorage.read_multi.<locals>.<genexpr>z%s should return bytes, got %ss--rJzcontent-length)r/r3rzMax number of fields exceeded)#rrPr;rxrr?rr
rBrCr*rrr/extendFieldStorageClass	__class__r@rRr7rXryrtrrbrcrZfeedr=r(rrUrrr)rqrArBrCZibrklassZ
first_linerparserZhdr_textrYrZpartr"r"r#rsj










(zFieldStorage.read_multicCs4|jdkr|j|jn|j|jjddS)Nr)rread_binaryr
read_linesrzr)rqr"r"r#rs


zFieldStorage.read_singleicCs|j|_|j}|dkrxx|dkr|jjt||j}t|tsXt	d|jt
|jf|jt
|7_|svd|_P|jj||t
|}qWdS)Nrz%s should return bytes, got %sr3rN)	make_filerzrr@r<minbufsizer7rXr;ryrtrrbrr&)rqZtodorYr"r"r#rs


zFieldStorage.read_binarycCs@|jrt|_|_nt|_|_|jr4|jn|jdS)N)rrrz_FieldStorage__filerrread_lines_to_outerboundaryread_lines_to_eof)rqr"r"r#rs
zFieldStorage.read_linescCsv|jdk	rF|jjt|dkrF|j|_|jj}|jj|d|_|jrZ|jj|n|jj|j|j	|j
dS)Ni)rtellrbrrzrr&rr=r*r)rqr\rYr"r"r#Z__writes


zFieldStorage.__writecCs>x8|jjd}|jt|7_|s,d|_P|j|qWdS)Nr3irN)r@rRrrbr_FieldStorage__write)rqr\r"r"r#r,szFieldStorage.read_lines_to_eofc	Cs,d|j}|d}d}d}d}x||jkr.P|jjd}|jt|7_|t|7}|sdd
|_P|dkrx||}d}|jdr|r|j}||krP||krd|_P|}|j	drd}|dd}d}nJ|j	d
rd
}|dd}d}n*|j	drd}|dd}d}nd}d}|j
||q"WdS)Ns--rJTrr3r
s
rHrLFirNrOrNrN)rrr@rRrrbrrSrTendswithr)	rq
next_boundary
last_boundaryZdelimlast_line_lfendZ_readr\strippedlineZodelimr"r"r#r6sP



z(FieldStorage.read_lines_to_outerboundarycCs|js|jrdSd|j}|d}d}xh|jjd}|jt|7_|sTd|_P|jdr|r|j}||krtP||krd|_P|jd}q*WdS)Ns--Tr3rrLirN)rrr@rRrrbrrc)rqrrrr\rr"r"r#rgs&
zFieldStorage.skip_linescCs&|jrtjdStjd|jddSdS)Nzwb+zw+r%)r*newline)rtempfileZ
TemporaryFiler*)rqr"r"r#r}s
zFieldStorage.make_file)N)Ni ) rtrurvosrArrrrrrsrrrrrrrrrrrrrrrrrrrrrrr"r"r"r#r
ls>+"


D	
1cCstdttjt_yNt}ttt|t|t	dd}|fdd}td|Wnt
YnXtdday&t}ttt|t|Wnt
YnXdS)	NzContent-type: text/htmlcSstddS)Nz,testing print_exception() -- <I>italics?</I>)execr"r"r"r#rfsztest.<locals>.fcSs
|dS)Nr")rfr"r"r#gsztest.<locals>.gz9<H3>What follows is a test, not an actual exception:</H3>z*<H1>Second try with a small maxlen...</H1>2)printr4stdoutstderrr
rrrrrrr:)rAformrfrr"r"r#rs4
cCsx|dkrtj\}}}ddl}ttd|j|||j||}tdtjdj|ddtj|df~dS)Nrz+<H3>Traceback (most recent call last):</H3>z<PRE>%s<B>%s</B></PRE>rr3rNrN)	r4exc_info	tracebackr	format_tbformat_exception_onlyhtmlrrV)ryrptbrrrxr"r"r#rs
cCs`t|j}ttdtdx*|D]"}tdtj|dtj||q(WtdtdS)Nz<H3>Shell Environment:</H3>z<DL>z<DT>z<DD>z</DL>)sortedrrrr)rArr]r"r"r#rs
"cCst|j}ttd|s&tdtdxb|D]Z}tdtj|ddd||}tdtjtt|d	td
tjt|q4WtdtdS)Nz<H3>Form Contents:</H3>z<P>No form fields.z<DL>z<DT>: )rez<i>z</i>z<DD>z</DL>)rrrrrreprry)rrr]rpr"r"r#rs
cCsjttdytj}Wn6tk
rP}ztdtjt|WYdd}~XnXttj|tdS)Nz#<H3>Current Working Directory:</H3>zOSError:)rrgetcwdrrrstr)pwdmsgr"r"r#rs&cCs(ttdtttjtdS)Nz <H3>Command Line Arguments:</H3>)rr4r>r"r"r"r#rs

cCstddS)Na
<H3>These environment variables could have been set:</H3>
<UL>
<LI>AUTH_TYPE
<LI>CONTENT_LENGTH
<LI>CONTENT_TYPE
<LI>DATE_GMT
<LI>DATE_LOCAL
<LI>DOCUMENT_NAME
<LI>DOCUMENT_ROOT
<LI>DOCUMENT_URI
<LI>GATEWAY_INTERFACE
<LI>LAST_MODIFIED
<LI>PATH
<LI>PATH_INFO
<LI>PATH_TRANSLATED
<LI>QUERY_STRING
<LI>REMOTE_ADDR
<LI>REMOTE_HOST
<LI>REMOTE_IDENT
<LI>REMOTE_USER
<LI>REQUEST_METHOD
<LI>SCRIPT_NAME
<LI>SERVER_NAME
<LI>SERVER_PORT
<LI>SERVER_PROTOCOL
<LI>SERVER_ROOT
<LI>SERVER_SOFTWARE
</UL>
In addition, HTTP headers sent by the server may be passed in the
environment as well.  Here are some common variable names:
<UL>
<LI>HTTP_ACCEPT
<LI>HTTP_CONNECTION
<LI>HTTP_HOST
<LI>HTTP_PRAGMA
<LI>HTTP_REFERER
<LI>HTTP_USER_AGENT
</UL>
)rr"r"r"r#rs'cCsFtdtdd|jdd}|jdd}|jdd	}|rB|jd
d}|S)Nz1cgi.escape is deprecated, use html.escape insteadrH)
stacklevelr2z&amp;<z&lt;>z&gt;r_z&quot;)rrIrl)rdZquoter"r"r#r1s
cCs(ddl}t|trd}nd}|j||S)Nrs^[ -~]{0,200}[!-~]$z^[ -~]{0,200}[!-~]$)rer7rXmatch)rdrZ_vb_patternr"r"r#rP=s

rP__main__)rrN)rrN)NNNN)N)0__version__iorrrcollectionsrr4rZurllib.parser?Zemail.parserrZ
email.messagerwarningsrrrr__all__rrr$r rr)rr:rArrr
rrgrr	r
rrrrrrrrrPrtr"r"r"r#<module>s`#	E

c7'
/