403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.217.130
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_cgi.cpython-36.opt-2.pyc
3

�
�^�S�!@sDddlmZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZddl
mZGdd�d�Ze�e_Gdd	�d	�Zd
d�Zded
�fded
�fded
�fded
�fded
�fdifdifdifdddgifded
�fded
�fded�fdddgifdddgifdddgifd dd!gifd"ed
�fd#ed$�fd%d&gd'gd(�fd)dd&d*gifd+d,gd-gd.gd/�fd0d,gd-gd.gd/�fd1d,gd-gd.gd/�fd2d3gd4gd5gd6gd7gd8gd9gd:gd;�fd<d=gd>gd?gd,gd@gdAgdB�fgZdCdD�ZdEdF�ZdGdH�ZdIdJ�ZGdKdL�dLej�ZdMZdNZdOZdPZdQZedRk�r@ej �dS)S�)�check_warningsN)�
namedtuple)�StringIO�BytesIO)�supportc@seZdZgZejZdS)�HackedSysModuleN)�__name__�
__module__�__qualname__�argv�sys�stdin�rr�-/opt/alt/python36/lib64/python3.6/test_cgi.pyrsrc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�ComparableExceptioncCs
||_dS)N)�err)�selfrrrr�__init__szComparableException.__init__cCs
t|j�S)N)�strr)rrrr�__str__szComparableException.__str__cCs*t|t�stS|jj|jko(|jj|jkS)N)�
isinstance�	Exception�NotImplementedr�	__class__�args)rZanExcrrr�__eq__s
zComparableException.__eq__cCst|j|�S)N)�getattrr)r�attrrrr�__getattr__!szComparableException.__getattr__N)rr	r
rrrrrrrrrsrcCs�i}|dkr"d}d|d<||d<nD|dkrZt|jd��}d|d<d|d<tt|��|d<ntd	|��ytj||d
d�Stk
r�}zt|�Sd}~XnXdS)N�GET�REQUEST_METHOD�QUERY_STRING�POSTzlatin-1z!application/x-www-form-urlencoded�CONTENT_TYPE�CONTENT_LENGTHzunknown method: %s�)Zstrict_parsing)	r�encoder�len�
ValueError�cgi�parserr)�buf�method�env�fprrrr�do_test$s
r/�zbad query field: ''�&z&&�;z;&;�=z=&=z=;=z=a�az&=az=a&z=&azbad query field: 'a'zb=a�bzb+=azb za=b=aza=+b=az b=az&b=azb&=azbad query field: 'b'za=a+b&b=b+cza bzb c)r4r5za=a+b&a=b+azb azx=1&y=2.0&z=2-3.%2b0�1z2.0z2-3.+0)�x�y�zzx=1;y=2.0&z=2-3.%2b0zx=1;y=2.0;z=2-3.%2b0z�Hbc5161168c542333633315dee1182227:key_store_seqid=400006&cuyer=r&view=bustomer&order_id=0bb2e248638833d48cb7fed300000f1b&expire=964546263&lobale=en-US&kid=130003.300038&ss=envZ400006�rZ	964546263z
130003.300038zen-USZ 0bb2e248638833d48cb7fed300000f1br-Zbustomer)z1Hbc5161168c542333633315dee1182227:key_store_seqidZcuyerZexpireZkidZlobaleZorder_id�ssZviewzQgroup_id=5470&set=custom&_assigned_to=31392&_status=1&_category=100&SUBMIT=BrowseZBrowseZ31392Z100Z5470Zcustom)ZSUBMITZ_assigned_toZ	_categoryZ_statusZgroup_id�setcCst|td�S)N)�key)�sorted�repr)�seqrrr�normesrAcCsdd�|D�S)NcSsg|]}|d�qS)rr)�.0�prrr�
<listcomp>iszfirst_elts.<locals>.<listcomp>r)�listrrr�
first_eltshsrFcCsdd�|D�S)NcSs g|]}|d|ddf�qS)rr%r)rBrCrrrrDlsz%first_second_elts.<locals>.<listcomp>r)rErrr�first_second_eltsksrGcCsld}t|j|��}|jd�tj|||d�}i}x6t|�j�D]&\}}t|t�rZ|j	|�p^|j
||<q>W|S)Nzlatin-1r)r.�environ�encoding)rr&�seekr)�FieldStorage�dict�itemsrrEZgetlist�value)�datarHrIZ
fake_stdinZform�result�k�vrrr�
gen_resultns
"rSc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdddgd d!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3S)4�CgiTestscCsPttjd��}tjd�dd�}tj||�}dgdgdgdgd�}|j||�dS)	N�latin1�558)�boundaryzCONTENT-LENGTHs Add s1234s
Testing 123.
�)�submit�id�file�title)r�POSTDATAr&�BOUNDARYr)Zparse_multipart�assertEqual)rr.r-rPZexpectedrrr�test_parse_multipart|szCgiTests.test_parse_multipartcCs^tj�}|j|�|jdt|��|jt|�t|j���|jjt	dd�d��|j
|�dS)NrKZMockFieldStorage�nameZ
fieldvalue)r)rK�assertFalse�assertInr?r_rE�keys�appendr�
assertTrue)r�fsrrr�test_fieldstorage_properties�s
z%CgiTests.test_fieldstorage_propertiescCsL|jttjdddid�|jttjdd�tjddid	�}|jtt|�dS)
Nznot-a-file-objr �PUT)rHZfooZbarzcontent-typez
text/plain)Zheaders)�assertRaises�	TypeErrorr)rK�bool)rrgrrr�test_fieldstorage_invalid�s
z"CgiTests.test_fieldstorage_invalidcCs^tj��Ltjddt�|jdtjd��|jdtjd��|jdtjdd	��WdQRXdS)
N�ignorezcgi\.escapeztest &amp; stringz
test & stringz&lt;test string&gt;z
<test string>z&quot;test string&quot;z
"test string"T)�warnings�catch_warnings�filterwarnings�DeprecationWarningr_r)�escape)rrrr�test_escape�s
zCgiTests.test_escapecCs�xtD�]�\}}t|d�}|j||dt|��t|d�}|j||dt|��d|i}tj|d�}t|t�r|jt|�t|��|j	|j
�|j
��|j|jdd�d�xZ|j
�D]N}||}|j||�t|�d	kr�|j|j|�|�q�|j|j|�|d
�q�WqWdS)NrzError parsing %s method GETr"zError parsing %s method POSTr!)rHznonexistent field�defaultr%r)
�parse_strict_test_casesr/r_r?r)rKrrLr'ZassertCountEqualrd�getvaluerc)rZorig�expect�dr-rgr=Z
expect_valrrr�test_strict�s"


zCgiTests.test_strictcCs~tjd�t�t_tjdd�tjdd�|jtjj�d�tjj	tj
�rzdt_tj
t_tjdd�|jtj
�tjd�dS)NZTestingz%szTesting initlog 1z
Testing log 2z Testing initlog 1
Testing log 2
z
Testing log 3z
Testing log 4)r)�logr�logfp�initlogr_rw�os�path�exists�devnull�logfile�
addCleanup�closelog)rrrr�test_log�s
zCgiTests.test_logcCs�Gdd�d�}|tjd��}|j|j�|jddd�|jd�dd	i}tj||d
�}|j|jj�|j	|j
d�|j�dS)Nc@s&eZdZdd�Zddd�Zdd�ZdS)	z=CgiTests.test_fieldstorage_readline.<locals>.TestReadlineFilecSs||_d|_dS)Nr)r[�numcalls)rr[rrrr�szFCgiTests.test_fieldstorage_readline.<locals>.TestReadlineFile.__init__NcSs,|jd7_|r|jj|�S|jj�SdS)Nr%)r�r[�readline)r�sizerrrr��szFCgiTests.test_fieldstorage_readline.<locals>.TestReadlineFile.readlinecSs.|jd}t||�}t|t�s*t|||�|S)Nr[)�__dict__rr�int�setattr)rrar[r4rrrr�s



zICgiTests.test_fieldstorage_readline.<locals>.TestReadlineFile.__getattr__)N)rr	r
rr�rrrrr�TestReadlineFile�s
r�zwb+�x�irr ri)r.rH�)�tempfileZ
TemporaryFiler��close�writerJr)rKr[Z
assertGreaterr�)rr��fr-rgrrr�test_fieldstorage_readline�s
z#CgiTests.test_fieldstorage_readlinec	Cs�ddjt�dd�}ttjd��}tj||dd�}|jt|j	�d�ddd	d
�dddd
�d
ddd
�dddd
�g}xLt
t|j	��D]:}x4||j�D]$\}}t|j	||�}|j||�q�Wq~WdS)Nr"z multipart/form-data; boundary={}rV)r r#r$zlatin-1)rHrI�rZ�1234)ra�filenamerNr\r0r[ztest.txts
Testing 123.
rYz Add )
�formatr^rr]r&r)rKr_r'rE�rangerMr)	rr-r.rgrxr7rQ�exp�gotrrr�test_fieldstorage_multipart�s


z$CgiTests.test_fieldstorage_multipartc	Cs�ddjt�dd�}tdtjd��}tj||dd�}|jt|j	�d�d	dd
d�ddd
d�dddd�dddd�g}xLt
t|j	��D]:}x4||j�D]$\}}t|j	||�}|j||�q�Wq�WdS)Nr"z multipart/form-data; boundary={}Z560)r r#r$s
zlatin-1)rHrIr�rZr�)rar�rNr\r0r[ztest.txts
Testing 123.
rYz Add )
r�r^rr]r&r)rKr_r'rEr�rMr)	rr-r.rgrxr7rQr�r�rrr�.test_fieldstorage_multipart_leading_whitespace�s


z7CgiTests.test_fieldstorage_multipart_leading_whitespacec
Cs�ddjt�dd�}x�dD]�}ttj|��}tj|||d�}|jt|j	�d�d	dd
d�g}xLt
t|j	��D]:}x4||j�D]$\}}t|j	||�}	|j|	|�q|WqjWqWdS)
Nr"z multipart/form-data; boundary={}rV)r r#r$�
iso-8859-1�utf-8)rHrIr%rZuçñ€)rar�rN)r�r�)
r�r^r�POSTDATA_NON_ASCIIr&r)rKr_r'rEr�rMr)
rr-rIr.rgrxr7rQr�r�rrr�%test_fieldstorage_multipart_non_asciis
z.CgiTests.test_fieldstorage_multipart_non_asciics^d}d�_�fdd�}|d|d�|d|dd�|d|ddd|d�dS)	Nr%�csDdjdd�|}tt|��ddd�}�jt||�d|jd�i�dS)	Nzp---123
Content-Disposition: form-data; name="upload"; filename="fake.txt"
Content-Type: text/plain

%s
---123--
�
z
z"multipart/form-data; boundary=-123r")r$r#r �uploadrU)�replacerr'r_rSr&)�contentrOrH)rrr�check"s
z;CgiTests.test_fieldstorage_multipart_maxline.<locals>.checkr7�
r8i)ZmaxDiff)rZmaxliner�r)rr�#test_fieldstorage_multipart_maxlinesz,CgiTests.test_fieldstorage_multipart_maxlinec
Csddjt�ttt��d�}ttjd��}tj||dd�}|j	t|j
�d�|j	|j
djd�|j	|j
djd	�|j	|j
d
jd�|j
d
j}|j	t|�d�ddd
d�dddd�g}xHt
t|��D]8}x2||j�D]"\}}t|||�}	|j	|	|�q�Wq�WdS)Nr"z multipart/form-data; boundary={})r r#r$zlatin-1)rHrIr�rzsubmit-name�Larryr%�filesz	file1.txts... contents of file1.txt ...)rar�rNz	file2.gifs...contents of file2.gif...)r��BOUNDARY_W3rr'�POSTDATA_W3rr&r)rKr_rErarNr�rMr)
rr-r.rgr�rxr7rQr�r�rrr�test_fieldstorage_multipart_w3c5s"
z(CgiTests.test_fieldstorage_multipart_w3ccCs~d}d}ddj|�tt|��d�}t|jd��}tj||dd�}|jt|j�d�|j|jd	j	d
�|j|jd	j
d�dS)NZJfISa01z_--JfISa01
Content-Disposition: form-data; name="submit-name"
Content-Length: 5

Larry
--JfISa01r"z multipart/form-data; boundary={})r r#r$zlatin-1)rHrIr%rzsubmit-namer�)r�rr'rr&r)rKr_rErarN)rr^r]r-r.rgrrr�%test_fieldstorage_part_content_lengthJsz.CgiTests.test_fieldstorage_part_content_lengthcCs�td�}ddi}tj||d��}|jj�}|j|jj�WdQRX|j|jj�|j|d	�|j	t
d��|jj�WdQRXdS)
Nr��
r ri)r.rHr7zI/O operation on closed files
xxxxxxxxxxZ
xxxxxxxxxx)rr)rKr[�readrb�closedrfr_ZassertRaisesRegexr()rr.r-rgr�rrr�$test_fieldstorage_as_context_manager\s
z-CgiTests.test_fieldstorage_as_context_managerZvalue1Zvalue2xZvalue2yZvalue3Zvalue4)Zkey1Zkey2Zkey3Zkey4cCs6d}tt|��dddd�}t||�}|j|j|�dS)Nz$key2=value2x&key3=value3&key4=value4z!application/x-www-form-urlencodedzkey1=value1&key2=value2yr")r$r#r!r )rr'rSr_�
_qs_result)rrOrHrRrrr�testQSAndUrlEncodems

zCgiTests.testQSAndUrlEncodecCs�djdgd�}tt|��ddd�}|jt��tjt|j��|dd�WdQRXd	}tt|��d
ddd�}|jt��tjt|j��|d
d�WdQRXtjt|j��|dd�dS)Nr1za=a�z!application/x-www-form-urlencodedr")r$r#r r�)r.rHZmax_num_fieldsz�---123
Content-Disposition: form-data; name="a"

3
---123
Content-Type: application/x-www-form-urlencoded

a=4
---123
Content-Type: application/x-www-form-urlencoded

a=5
---123--
z"multipart/form-data; boundary=-123za=1&a=2)r$r#r!r r��)	�joinrr'rjr(r)rKrr&)rrOrHrrr�test_max_num_fieldsxs.




zCgiTests.test_max_num_fieldscCs6d}tt|��dddd�}t||�}|j|j|�dS)Nz�---123
Content-Disposition: form-data; name="key2"

value2y
---123
Content-Disposition: form-data; name="key3"

value3
---123
Content-Disposition: form-data; name="key4"

value4
---123--
z"multipart/form-data; boundary=-123zkey1=value1&key2=value2xr")r$r#r!r )rr'rSr_r�)rrOrHrRrrr�testQSAndFormData�s

zCgiTests.testQSAndFormDatacCsLd}tt|��dddd�}|jj�}|jddi�t||�}|j||�dS)NaE---123
Content-Disposition: form-data; name="key2"

value2y
---123
Content-Disposition: form-data; name="key3"

value3
---123
Content-Disposition: form-data; name="key4"

value4
---123
Content-Disposition: form-data; name="upload"; filename="fake.txt"
Content-Type: text/plain

this is the content of the fake file

---123--
z"multipart/form-data; boundary=-123zkey1=value1&key2=value2xr")r$r#r!r r�s%this is the content of the fake file
)rr'r��copy�updaterSr_)rrOrHrPrRrrr�testQSAndFormDataFile�s



zCgiTests.testQSAndFormDataFilecCs<tdtf��&|jdgdgdgd�tjd��WdQRXdS)Nz=cgi.parse_qs is deprecated, use urllib.parse.parse_qs instead�A1�B3�B2)r4�Br5za=A1&b=B2&B=B3)rrrr_r)Zparse_qs)rrrr�test_deprecated_parse_qs�s
z!CgiTests.test_deprecated_parse_qscCs4tdtf��|jd	d
dgtjd��WdQRXdS)Nz?cgi.parse_qsl is deprecated, use urllib.parse.parse_qsl insteadr4r�r5r�r�r�za=A1&b=B2&B=B3)r4r�)r5r�)r�r�)rrrr_r)Z	parse_qsl)rrrr�test_deprecated_parse_qsl�s
z"CgiTests.test_deprecated_parse_qslcCs�|jtjd�dif�|jtjd�dif�|jtjd�dddif�|jtjd�dddif�|jtjd�ddd	d
�f�|jtjd�dd
dif�|jtjd�dd
dif�|jtjd�dddd�f�|jtjd�dddd�f�dS)Nz
text/plainztext/vnd.just.made.this.up ; ztext/vnd.just.made.this.upztext/plain;charset=us-ascii�charsetzus-asciiztext/plain ; charset="us-ascii"z,text/plain ; charset="us-ascii"; another=opt�opt)r�Zanotherz attachment; filename="silly.txt"Z
attachmentr�z	silly.txtz#attachment; filename="strange;name"zstrange;namez-attachment; filename="strange;name";size=123;Z123)r�r�z-form-data; name="files"; filename="fo\"o;bar"z	form-datar�zfo"o;bar)rar�)r_r)Zparse_header)rrrr�test_parse_header�s6

zCgiTests.test_parse_headerc	Cs*ddddddddd	h	}tj|t|d
�dS)Nr�r|r}ZdologZnologr�r{�maxlenZvalid_boundary)�	blacklist)rZcheck__all__r))rr�rrr�test_alls
zCgiTests.test_allN)rr	r
r`rhrmrtrzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrTzs4		%6"rTz6---------------------------721837373350705526688164684a-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="id"

1234
-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="title"


-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain

Testing 123.

-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="submit"

 Add 
-----------------------------721837373350705526688164684--
u�-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="id"

çñ€
-----------------------------721837373350705526688164684
ZAaB03xa�--AaB03x
Content-Disposition: form-data; name="submit-name"

Larry
--AaB03x
Content-Disposition: form-data; name="files"
Content-Type: multipart/mixed; boundary=BbC04y

--BbC04y
Content-Disposition: file; filename="file1.txt"
Content-Type: text/plain

... contents of file1.txt ...
--BbC04y
Content-Disposition: file; filename="file2.gif"
Content-Type: image/gif
Content-Transfer-Encoding: binary

...contents of file2.gif...
--BbC04y--
--AaB03x--
�__main__)!Ztest.supportrr)r~rr�Zunittestro�collectionsr�iorrZtestrrrr/r(rvrArFrGrSZTestCaserTr^r]r�r�r�r�mainrrrr�<module>s�










"


Youez - 2016 - github.com/yon3zu
LinuXploit