403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.6/site-packages/isc/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.6/site-packages/isc/__pycache__/rndc.cpython-36.pyc
3

�e]*�@sXddlmZddlZddlZddlZddlZddlZddlZddlZGdd�de	�Z
dS)�)�OrderedDictNc@sleZdZdZddddddd�Zd	d
�Zdd�Zddd�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�rndczRNDC protocol client library������)�md5Zsha1Zsha224Zsha256Zsha384Zsha512cCsb||_|j�}|jd�r$|dd�}||_tt|�|_tj|�|_	t
jdd�|_d|_
|j�dS)z�Creates a persistent connection to RNDC and logs in
        host - (ip, port) tuple
        algo - HMAC algorithm: one of md5, sha1, sha224, sha256, sha384, sha512
               (with optional prefix 'hmac-')
        secret - HMAC secret, base64 encodedzhmac-�Nr��i)�host�lower�
startswith�algo�getattr�hashlib�hlalgo�base64�	b64decode�secret�randomZrandint�ser�nonce�_rndc__connect_login)�selfrrr�r�/usr/lib/python3.6/rndc.py�__init__$s
z
rndc.__init__cCst|j|d�d�S)z�Call a RNDC command, all parsing is done on the server side
        cmd - a complete string with a command (eg 'reload zone example.com')
        )�type�_data)�dict�_rndc__command)r�cmdrrr�call5sz	rndc.callFcCst�}�x|j�D]�\}}|r(|dkr(q|tjdt|��|jd�7}t|�tkrt|tjddt|��|jd�7}qt|�tkr�|tjddt|��|7}qt|�tkr�|tjddt|��|7}qt|�t	kr�|j
|�}|tjddt|��|7}qtdt|���qW|S)N�_auth�B�asciiz>BIr�z#Cannot serialize element of type %s)�	bytearray�items�struct�pack�len�encoder �str�bytesr�_rndc__serialize_dict�NotImplementedError)r�data�ignore_auth�rv�k�v�sdrrrZ__serialize_dict;s""
zrndc.__serialize_dictc	Os,|jd7_ttj��}t||�}t�}t�|d<t�|d<t|j�|dd<t|�|dd<t|d�|dd<|jdk	r�|j|dd<||d	<|j|d
d�}tj|j	||j
�j�}tj
|�}|jdkr�tjd
|�|dd<n"ttjd|j|j|��|dd<|j|�}tjdt|�dd�|}|S)Nrr&�_ctrlZ_serZ_tim�<Z_exp�_noncer!T)r5r
Z22s�hmd5ZB88s�hshaz>II�)r�int�timerr0rr2�hmac�newrr�digestrZ	b64encoderr,r-r*�_rndc__algosr.)	r�args�kwargsZnowr4�d�msg�hash�bhashrrrZ__prep_messageOs,






zrndc.__prep_messagecCs�|jdk	r |dd|jkr dS|jdkr8|dd}n|dddd�}t|�tkrb|jd	�}|d
dt|�d7}tj|�}|j|dd
�}t	j
|j||j�j
�}||kS)Nr:r<Fr
r&r=r>rr(�=r?T)r5)rrr r1�decoder.rrr2rBrCrrrD)rrIrKZremote_hashZmy_msgZmy_hashrrrZ__verify_msgjs


zrndc.__verify_msgc	Os�|j||�}|jj|�}|t|�kr,td��|jjd�}t|�dkrLtd��tjd|�\}}|dkrptd|��|d8}|jj|tj	�}t|�|kr�td��t
|�tkr�t|�}|j
|�}|j|�s�td	��|S)
NzCannot send the message�zCan't read response headerz>IIrzWrong message version %dr?zCan't read response datazAuthentication failure)�_rndc__prep_message�socket�sendr.�IOErrorZrecvr,�unpackr3ZMSG_WAITALLr r0r*�_rndc__parse_message�_rndc__verify_msg)	rrFrGrIZsent�headerZlength�versionr4rrrZ	__commandys(

zrndc.__commandcCs2tj|j�|_d|_|jdd�}|dd|_dS)NZnull)r r:r<)rPZcreate_connectionrrr#)rrIrrrZ__connect_login�szrndc.__connect_logincCs�d}||}|d7}||||�jd�}||7}||}|d7}tjd|||d��d}|d7}||||�}||7}||d�}|dkr�|||fS|dkr�t�}	x(t|�dkr�|j|�\}
}}||	|
<q�W||	|fStd|��dS)Nrrr(z>Ir?r)zUnknown element type %d)rMr,rSrr.�_rndc__parse_elementr3)r�input�posZlabellen�labelr Zdatalenr4�restrHZilabel�valuerrrZ__parse_element�s*

zrndc.__parse_elementcCs8t�}d}x(t|�dkr2|j|�\}}}|||<qW|S)Nr)rr.rX)rrYr6Zhdatar[r]rrrZ__parse_message�szrndc.__parse_messageN)F)�__name__�
__module__�__qualname__�__doc__rErr%r2rOrUr#rrXrTrrrrrs 
r)�collectionsrrAr,rrBrrrP�objectrrrrr�<module>s

Youez - 2016 - github.com/yon3zu
LinuXploit