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__/aws_client.cpython-39.opt-1.pyc
a

��0i�+�@s�dZddlmZmZddlmZddlmZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZmZmZddlmZe�d�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�ZGdd�dej�ZGdd�de�ZdS)ze
Base classes for AWS/QUERY clients

Classes:
AWSClient - an HTTP client that makes signed requests

�)�util�public_constants)�api)�ElementTreeN)�urlsplit�urljoin�quote)�StringIOz
cfn.clientc@seZdZddd�Zdd�ZdS)�SignerNcCsdS�N�)�self�verb�base_url�params�creds�
in_headers�	timestamprr�;/usr/lib/python3.9/site-packages/cfnbootstrap/aws_client.py�sign+szSigner.signcCs|�d�r|S|dS)N�/)�endswith)r
rrrr�_normalize_url.szSigner._normalize_url)NN)�__name__�
__module__�__qualname__rrrrrrr
)s
r
c@seZdZddd�ZdS)�	CFNSignerNc
Cst|�|�}t��std��t���d�}t��}t|dur>in|�}	dt�	|��
d�|�dd�f|	d<||||	fS)Nz'Cannot use CFN signature outside of EC2�utf-8zCFN_V1 %s:%s�
��
Authorization)rrZis_ec2�
ValueErrorZget_instance_identity_document�encodeZget_instance_identity_signature�dict�base64Z	b64encode�decode�replace)
r
rrrrrrZdocument�	signature�new_headersrrrr4s
�
zCFNSigner.sign)NN)rrrrrrrrr2src@s8eZdZd
dd�Zddd�Zdd�Zd	d
�Zdd�ZdS)�V4Signer�aws4_requestcCs||_||_||_dSr)�_region�_service�_terminator)r
ZregionZservice�
terminatorrrr�__init__FszV4Signer.__init__NcCs|si}|�|�}|s tj��}t|�}|�d�}|�d�}	|	d|jd|jd|j}
d|vrl|d=||d<|jr�|j|d<t	|�j
|d<|dkr�d	|d
<|d}||�|�d7}||dkr�|�|�nd
d7}|�
|�\}}
||d|
d7}|t�|dk�rt�|�nd
�d����7}d|d|
dt�|�d����}t�d|j�d�|	�d�tj���}t�||j�d�tj���}t�||j�d�tj���}t�|d�d�tj���}t�||�d�tj���}|jd|
}d||
|f|d<||||fS)Nz%Y%m%dT%H%M%SZz%Y%m%drZDatez
X-Amz-DatezX-Amz-Security-TokenZHost�POSTz!application/x-www-form-urlencodedzContent-typer�GETrrzAWS4-HMAC-SHA256
ZAWS4r*z=AWS4-HMAC-SHA256 Credential=%s,SignedHeaders=%s, Signature=%sr )r�datetimeZutcnowr#�strftimer+r,r-Zsecurity_tokenr�netloc�_canonicalize_uri�_canonicalize_query�_canonicalize_headers�hashlibZsha256�Client�construct_queryr"Z	hexdigest�hmac�newZ
secret_keyZdigestZ
access_key)r
rrrrrrr(Ztimestamp_formattedZtimestamp_shortZscopeZcanonical_requestZcanonical_headersZsigned_headersZstring_to_signZderived_keyr'Z
credentialrrrrKs�



����
��,�������
��
���
z
V4Signer.signcCs<t|�}|jsdSttd|j�d���j}|r8t|d�SdS)Nrzhttp://foo.comz/~)r�pathr�lstripr)r
Zuri�splitr=rrrr5�s�zV4Signer._canonicalize_uricCsB|sdSdd�|��D�}t|t�dd�d�}d�dd�|D��S)	Nrcss:|]2}t|dd�t|�dkr,t|dd�ndfVqdS)r�~�rN)r�len��.0�entryrrr�	<genexpr>�s�
���z/V4Signer._canonicalize_query.<locals>.<genexpr>rrA��key�&css|]}d�|�VqdS)�=N��join)rDZpairrrrrF����items�sorted�operator�
itemgetterrL)r
rZ
encoded_pairsZsorted_pairsrrrr6�s�zV4Signer._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)rDrH�valuerrrrF�rMz1V4Signer._canonicalize_headers.<locals>.<genexpr>�,rrGrcss|]}d�|�VqdS)�:NrKrCrrrrF�rM�;css|]}|dVqdS)rNrrCrrrrF�rMrN)r
�headersZ
canon_headersrHrXZsorted_entriesrrrr7�s
�zV4Signer._canonicalize_headers)r*)NN)rrrr/rr5r6r7rrrrr)Ds


9	
r)cseZdZ�fdd�Z�ZS)�
AwsQueryErrorcsT|dks|dvrd}n|dkr$d}nd}tt|��|d||f|�||_||_dS)Ni�)Z
ThrottlingZInvalidAccessKeyIdZInvalidClientTokenIdZRETRIABLE_FOREVERZSenderZTERMINALZ	RETRIABLEz%s: %s)�superr]r/�
error_code�
error_type)r
�status_coder_r`�msgZ
retry_mode��	__class__rrr/�s�zAwsQueryError.__init__)rrrr/�
__classcell__rrrcrr]�sr]c@sZeZdZdZddd�Zedd��Zedd��Zed	d
��Zddd
�Z	ddd�Z
dd�ZdS)r9z!
    A base AWS/QUERY client
    NcCs@||_||_||_||_|s$td��||_|r6t|�nd|_dS)NzA valid signer is required)�_credentials�	_endpoint�_is_jsonZ_xmlnsr!�_signerr#�
_proxyinfo)r
ZcredentialsZis_json�endpointZsigner�xmlnsZ	proxyinforrrr/�szClient.__init__c
Cs�d}t|��t�d�d�D]t\}}t|t�rbt|�D]*}|d�t|dd�dt|dd��7}q4q|rn|d7}|t|dd�dt|dd�7}q|S)NrrrGrIr@)�saferJ)rPrOrQrR�
isinstance�listrLr)Z	sign_dataZret_str�kZvs�vrrrr:�s"
�
��
�zClient.construct_querycCshz6|��d}|d}|d}|d}t|j|||�WSttttfybt|jdd|j�YS0dS)N�ErrorZCodeZMessage�Type�Unknown�Receiver)Zjsonr]ra�	TypeError�AttributeError�KeyErrorr!�text)�resp�eDoc�code�messager`rrr�_extract_json_message�szClient._extract_json_messagecs�fdd�}|S)Ncs�zZtjt|j�d�}|�d��f�}|�d��f�}|�d��f�}t|j|||�WStttt	fy�t|jdd|j
�YS0dS)N)�filez{%s}Error/{%s}Codez{%s}Error/{%s}Typez{%s}Error/{%s}Messagertru)rr	ZcontentZfindtextr]rarvrwrxr!ry)rzr{r|r`r}�rlrr�_extract_xml_message�s�
�
�z7Client._get_xml_extractor.<locals>._extract_xml_messager)rlr�rr�r�_get_xml_extractor�szClient._get_xml_extractorr1c
CsR|r|n|j}|r|n|j}|jr&dnd}|j�||||d|i�}	|j|	d|i�S)Nzapplication/jsonzapplication/xmlZAccept�timeout)rgrfrhrir�
_make_request)
r
rrkZrequest_credentialsrr��baserZaccept_typeZreqrrr�_call�s�zClient._callc
Csl|rt|�ni}|��|d<t�tj||fit�|dkrBt�|�nt�|dkrR|nt�||j	|d�����S)Nz
User-Agentr0)�datarr\Zproxiesr�)
r#�_construct_user_agentrZcheck_statusrZrequestZreq_optsr9r:rj)r
rrrr\r�rrrr�s��zClient._make_requestc
Csxz:t��}t��}t��}dt|�d|dd|WStyr}z t�dt|��WYd}~dSd}~00dS)Nz	CfnTools/z (�)z python/z3Constructing user agent failed with error message: zCloudFormation Tools)rZget_version�platform�python_version�str�	Exception�log�debug)r
Zbootstrapper_versionr�Zsystem_info�errrr�
s"
�zClient._construct_user_agent)NNNN)NNr1N)N)rrr�__doc__r/�staticmethodr:r~r�r�r�r�rrrrr9�s





	

r9) r�ZcfnbootstraprrZcfnbootstrap.packages.requestsrZ	xml.etreerr$r2r8r;ZloggingrQrUZurllibr��urllib.parserrr�ior	Z	getLoggerr��objectr
rr)ZRemoteErrorr]r9rrrr�<module>s(
	a

Youez - 2016 - github.com/yon3zu
LinuXploit