shell bypass 403
3
."�d � @ s d dl mZ G dd� de�ZdS )� )�ConfigGeneratorc @ s� e Zd ZdZddhZddddddd dddddd
dddddddd
d�Zddddddd�Zddddddd�Zdddddddddd� Zd d!d"�Z d#d$d%d&d'd(d)d*d+�Z
d,d-d.d/d0d1d2d3d+�Zed4d5� �Z
ed6d7� �Zd8S )9�LibsshGeneratorZlibsshZsshzaes256-gcm@openssh.comz
aes256-ctr� z
aes192-ctrzaes128-gcm@openssh.comz
aes128-ctrzchacha20-poly1305@openssh.comz
aes256-cbcz
aes192-cbcz
aes128-cbcz3des-cbc)zAES-256-GCMzAES-256-CTRzAES-192-GCMzAES-192-CTRzAES-128-GCMzAES-128-CTRzCHACHA20-POLY1305zCAMELLIA-256-GCMzAES-256-CCMzAES-192-CCMzAES-128-CCMzCAMELLIA-128-GCMzAES-256-CBCzAES-192-CBCzAES-128-CBCzCAMELLIA-256-CBCzCAMELLIA-128-CBCzRC4-128zDES-CBCzCAMELLIA-128-CTSz3DES-CBCzhmac-sha1-etm@openssh.comzhmac-sha2-256-etm@openssh.comzhmac-sha2-512-etm@openssh.com)zHMAC-MD5zUMAC-64zUMAC-128z HMAC-SHA1z
HMAC-SHA2-256z
HMAC-SHA2-512z hmac-sha1z
hmac-sha2-256z
hmac-sha2-512zecdh-sha2-nistp521zecdh-sha2-nistp384zecdh-sha2-nistp256z.curve25519-sha256,curve25519-sha256@libssh.orgzdiffie-hellman-group1-sha1zdiffie-hellman-group14-sha1zdiffie-hellman-group14-sha256zdiffie-hellman-group16-sha512zdiffie-hellman-group18-sha512) zECDHE-SECP521R1-SHA2-512zECDHE-SECP384R1-SHA2-384zECDHE-SECP256R1-SHA2-256zECDHE-X25519-SHA2-256zDHE-FFDHE-1024-SHA1zDHE-FFDHE-2048-SHA1zDHE-FFDHE-2048-SHA2-256zDHE-FFDHE-4096-SHA2-512zDHE-FFDHE-8192-SHA2-512z"diffie-hellman-group-exchange-sha1z$diffie-hellman-group-exchange-sha256)zDHE-SHA1zDHE-SHA2-256zssh-rsazssh-dsszrsa-sha2-256zrsa-sha2-512zecdsa-sha2-nistp256zecdsa-sha2-nistp384zecdsa-sha2-nistp521zssh-ed25519)zRSA-SHA1zDSA-SHA1zRSA-SHA2-256zRSA-SHA2-512zECDSA-SHA2-256zECDSA-SHA2-384zECDSA-SHA2-512z
EDDSA-ED25519zssh-rsa-cert-v01@openssh.comzssh-dss-cert-v01@openssh.comz!rsa-sha2-256-cert-v01@openssh.comz!rsa-sha2-512-cert-v01@openssh.comz(ecdsa-sha2-nistp256-cert-v01@openssh.comz(ecdsa-sha2-nistp384-cert-v01@openssh.comz(ecdsa-sha2-nistp521-cert-v01@openssh.comz ssh-ed25519-cert-v01@openssh.comc C s� |j }d}d}d}x>|d D ]2}y| j|| j| |�}W q tk
rL Y qX qW |rf|d| d 7 }d}|jd r�x>|d D ]2}y| j|| j| |�}W q~ tk
r� Y q~X q~W x>|d D ]2}y| j|| j| |�}W q� tk
r� Y q�X q�W |�r
|d| d 7 }d}x�|d D ]�}x�|d
D ]�}|jd dk�rvy$| j|d
| } | j|| |�}W n tk
�rt Y nX xV|d D ]J}
y,| j|d
|
d
| } | j|| |�}W n tk
�r� Y nX �q�W �q&W �qW |�r�|d| d 7 }d}x~|d D ]r}y| j|| j | |�}W n tk
�r0 Y nX |jd �r�y| j|| j
| |�}W n tk
�rl Y nX �q�W |�r�|d| d 7 }|d| d 7 }|S )Nr �,ZcipherzCiphers �
Zssh_etmZmaczMACs Zkey_exchange�hashZarbitrary_dh_groupsr �-�groupzKexAlgorithms ZsignZ ssh_certszHostKeyAlgorithms zPubkeyAcceptedKeyTypes )Zenabled�append�
cipher_map�KeyErrorZintegers�mac_map_etm�mac_map�gx_map�kx_map�sign_map�sign_map_certs)�clsZpolicy�pZcfg�sep�s�iZkx�h�val�g� r �=./usr/share/crypto-policies/python/policygenerators/libssh.py�generate_config^ sr
zLibsshGenerator.generate_configc C s dS )NTr )r �configr r r �test_config� s zLibsshGenerator.test_configN)�__name__�
__module__�__qualname__ZCONFIG_NAMEZSCOPESr r
r r r r r �classmethodr r r r r r r s� Er N)Zconfiggeneratorr r r r r r �<module> s