__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

XR_�?��>�SrSSKJrJr SSKJr SSKr\R"\5r	SSK
Jr SSKJ
r
JrJrJr SSKJr SSKJrJrJrJrJrJr SSKJs Jr /S	QrS
r"SS\R@\RB5r""S
S\"5r#"SS\RH5r%g)z1
passlib.handlers.cisco -- Cisco password hashes
�)�hexlify�	unhexlify)�md5N)�warn)�right_pad_string�
to_unicode�
repeat_string�to_bytes)�h64)�unicode�u�join_byte_values�join_byte_elems�iter_byte_values�
uascii_to_str)�	cisco_pix�	cisco_asa�cisco_type7s ��������������������������������c�N�\rSrSrSrSrSrSrSrSr	\
RrSr
SrSrg)	r�$a6
This class implements the password hash used by older Cisco PIX firewalls,
and follows the :ref:`password-hash-api`.
It does a single round of hashing, and relies on the username
as the salt.

This class only allows passwords <= 16 bytes, anything larger
will result in a :exc:`~passlib.exc.PasswordSizeError` if passed to :meth:`~cisco_pix.hash`,
and be silently rejected if passed to :meth:`~cisco_pix.verify`.

The :meth:`~passlib.ifc.PasswordHash.hash`,
:meth:`~passlib.ifc.PasswordHash.genhash`, and
:meth:`~passlib.ifc.PasswordHash.verify` methods
all support the following extra keyword:

:param str user:
    String containing name of user account this password is associated with.

    This is *required* in order to correctly hash passwords associated
    with a user account on the Cisco device, as it is used to salt
    the hash.

    Conversely, this *must* be omitted or set to ``""`` in order to correctly
    hash passwords which don't have an associated user account
    (such as the "enable" password).

.. versionadded:: 1.6

.. versionchanged:: 1.7.1

    Passwords > 16 bytes are now rejected / throw error instead of being silently truncated,
    to match Cisco behavior.  A number of :ref:`bugs <passlib-asa96-bug>` were fixed
    which caused prior releases to generate unverifiable hashes in certain cases.
�TFc�&�URn[U[5(aURS5nSn[	U5UR
:�a]UR(aCSURUR
4-n[RRUR
US9eU[-nURnU(aK[U[5(aURS5nU(a[	U5S:aU[US5-
nU(a[	U5S:�aSnOSn[X5nU(aX-
n[U5R!5n[#S	[%U555n[&R("U5R+S
5$)a�
This function implements the "encrypted" hash format used by Cisco
PIX & ASA. It's behavior has been confirmed for ASA 9.6,
but is presumed correct for PIX & other ASA releases,
as it fits with known test vectors, and existing literature.

While nearly the same, the PIX & ASA hashes have slight differences,
so this function performs differently based on the _is_asa class flag.
Noteable changes from PIX to ASA include password size limit
increased from 16 -> 32, and other internal changes.
�utf-8Nz.Password too long (%s allows at most %d bytes))�msg��r� c3�H# �UHupUS-S-(dMUv� M g7f)��N�)�.0�i�cs   �8/usr/lib/python3/dist-packages/passlib/handlers/cisco.py�	<genexpr>�+cisco_pix._calc_checksum.<locals>.<genexpr>�s ��� P�/@�t�q�Q��U�a�K���/@�s�"�	"�ascii)�_is_asa�
isinstancer�encode�len�
truncate_size�use_defaults�name�uh�exc�PasswordSizeError�_DUMMY_BYTES�userr	rr�digestr�	enumerater�encode_bytes�decode)�self�secret�asa�spoil_digestrr4�pad_sizer5s        r%�_calc_checksum�cisco_pix._calc_checksumgsT���l�l���f�g�&�&��]�]�7�+�F�,���v�;��+�+�+�� � �F��y�y�$�"4�"4�5�6���f�f�.�.�t�/A�/A�s�.�K�K� &��4��.�y�y����$��(�(��{�{�7�+���#�f�+��*��-��a�0�0���3�v�;��#��H��H�!�&�3��
��"�F��V��#�#�%��!� P�y��/@� P�P��
����'�.�.�w�7�7�r!N)�__name__�
__module__�__qualname__�__firstlineno__�__doc__r/r-�truncate_error�truncate_verify_reject�
checksum_sizer0�HASH64_CHARS�checksum_charsr)r>�__static_attributes__r!r@r%rr$s>��!�R�D��M��N�!��
�M��_�_�N��G�
|8r@rc�$�\rSrSrSrSrSrSrSrg)r�a�
This class implements the password hash used by Cisco ASA/PIX 7.0 and newer (2005).
Aside from a different internal algorithm, it's use and format is identical
to the older :class:`cisco_pix` class.

For passwords less than 13 characters, this should be identical to :class:`!cisco_pix`,
but will generate a different hash for most larger inputs
(See the `Format & Algorithm`_ section for the details).

This class only allows passwords <= 32 bytes, anything larger
will result in a :exc:`~passlib.exc.PasswordSizeError` if passed to :meth:`~cisco_asa.hash`,
and be silently rejected if passed to :meth:`~cisco_asa.verify`.

.. versionadded:: 1.7

.. versionchanged:: 1.7.1

    Passwords > 32 bytes are now rejected / throw error instead of being silently truncated,
    to match Cisco behavior.  A number of :ref:`bugs <passlib-asa96-bug>` were fixed
    which caused prior releases to generate unverifiable hashes in certain cases.
rTr!N)	rArBrCrDrEr/r-r)rKr!r@r%rr�s���8�D�
�M�
�Gr@rc��^�\rSrSrSrSrSr\Rr	Sr
Sr\SU4Sjj5r
\S5rSU4Sjjr\SS	j5r\S
5rSrSr\SS
j5r\"S5r\S5rSrU=r$)ri)a�
This class implements the "Type 7" password encoding used by Cisco IOS,
and follows the :ref:`password-hash-api`.
It has a simple 4-5 bit salt, but is nonetheless a reversible encoding
instead of a real hash.

The :meth:`~passlib.ifc.PasswordHash.using` method accepts the following optional keywords:

:type salt: int
:param salt:
    This may be an optional salt integer drawn from ``range(0,16)``.
    If omitted, one will be chosen at random.

:type relaxed: bool
:param relaxed:
    By default, providing an invalid value for one of the other
    keywords will result in a :exc:`ValueError`. If ``relaxed=True``,
    and the error can be corrected, a :exc:`~passlib.exc.PasslibHashWarning`
    will be issued instead. Correctable errors include
    ``salt`` values that are out of range.

Note that while this class outputs digests in upper-case hexadecimal,
it will accept lower-case as well.

This class also provides the following additional method:

.. automethod:: decode
��saltr�4c�>^�[[U]
"S0UD6nTb3URTUR	S5S9m[U4Sj5UlU$)N�relaxed)rSc�>�T$�Nr!rOs�r%�<lambda>�#cisco_type7.using.<locals>.<lambda>fs���r@r!)�superr�using�
_norm_salt�get�staticmethod�_generate_salt)�clsrP�kwds�subcls�	__class__s `  �r%rY�cisco_type7.usingasM����{�C�.�6��6�����$�$�T�4�8�8�I�3F�$�G�D�$0��$>�F�!��
r@c���[USS5n[U5S:a[RR	U5e[USS5nU"X!SSR
5S9$)Nr(�hash�)rP�checksum)rr,r0r1�InvalidHashError�int�upper)r^rdrPs   r%�from_string�cisco_type7.from_stringisW���$���0���t�9�q�=��&�&�)�)�#�.�.��4���8�}����A�B�x�~�~�'7�8�8r@c�>�[[U]
"S0UD6 UbURU5nOMUR(a1UR5nURU5U:XdSU<35eO[
S5eXlg)Nzgenerated invalid salt: zno salt specifiedr!)rXr�__init__rZr.r]�	TypeErrorrP)r9rPr_ras   �r%rm�cisco_type7.__init__qsq���
�k�4�)�1�D�1����?�?�4�(�D�
�
�
��&�&�(�D��?�?�4�(�D�0�X�RV�2X�X�0��/�0�0��	r@c�(�[U[5(d![RR	USS5eSUs=::aUR
::aU$ SnU(a.[
U[R5 US:aS$UR
$[U5e)zm
validate & normalize salt value.
.. note::
    the salt for this algorithm is an integer 0-52, not a string
�integerrPrz"salt/offset must be in 0..52 range)	r*rhr0r1�ExpectedTypeError�max_salt_valuer�PasslibHashWarning�
ValueError)r^rPrSrs    r%rZ�cisco_type7._norm_salt|s����$��$�$��&�&�*�*�4��F�C�C���*��*�*�*��K�+�2�����b�+�+�,��q��1�8�c�&8�&8�8��S�/�!r@c�B�[RRSS5$)Nr�)r0�rng�randintr!r@r%r]�cisco_type7._generate_salt�s���v�v�~�~�a��$�$r@c�J�SUR[UR54-$)Nz%02d%s)rPrrf)r9s r%�	to_string�cisco_type7.to_string�s���4�9�9�m�D�M�M�&B�C�C�Cr@c���[U[5(aURS5n[UR	XR
55R
S5R5$)Nrr()r*rr+r�_cipherrPr8ri)r9r:s  r%r>�cisco_type7._calc_checksum�sK���f�g�&�&��]�]�7�+�F��t�|�|�F�I�I�6�7�>�>�w�G�M�M�O�Or@c���URU5n[URRS55nUR	XCR
5nU(aUR
U5$U$)z�decode hash, returning original password.

:arg hash: encoded password
:param encoding: optional encoding to use (defaults to ``UTF-8``).
:returns: password as unicode
r()rjrrfr+r�rPr8)r^rd�encodingr9�tmp�raws      r%r8�cisco_type7.decode�sS�����t�$����
�
�,�,�W�5�6���l�l�3�	�	�*��'/�s�z�z�(�#�8�S�8r@z5dsfd;kfoA,.iyewrkldJKDHSUBsgvca69834ncxv9873254k;fg87c�^^^�URm[T5m[UUU4Sj[[	U5555$)z1xor static key against data - encrypts & decryptsc3�V># �UHupU[TTU-T-5-v� M  g7frU)�ord)r"�idx�value�key�key_sizerPs   ���r%r&�&cisco_type7._cipher.<locals>.<genexpr>�s2���� 
�?�
��
�C��T�C�Z�8�3�4�5�5�?�s�&))�_keyr,rr6r)r^�datarPr�r�s  `@@r%r��cisco_type7._cipher�s<����h�h���s�8��� 
�'�(8��(>�?� 
�
�	
r@rU)F)r)rArBrCrDrEr/�setting_kwdsr0�UPPER_HEX_CHARSrJ�min_salt_valuers�classmethodrYrjrmrZr\r]r}r>r8r
r�r�rK�
__classcell__)ras@r%rr)s�����F�D��L�
�'�'�N��N��N�
�����9��9�	��"��"�"�%��%�D�P��
9��
9�
�
D�E�D��
��
r@r)&rE�binasciirr�hashlibr�logging�	getLoggerrA�log�warningsr�
passlib.utilsrrr	r
�passlib.utils.binaryr�passlib.utils.compatrr
rrrr�passlib.utils.handlers�utils�handlersr0�__all__r3�HasUserContext�
StaticHandlerrr�GenericHandlerrr!r@r%�<module>r�s����(���g�'�'��1���P�O�$�>�>�#�#�����
8��!�!�2�#3�#3�8�j'�	�'�`K
�"�#�#�K
r@

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 250 B 0644
argon2.cpython-313.pyc File 29.75 KB 0644
bcrypt.cpython-313.pyc File 38.25 KB 0644
cisco.cpython-313.pyc File 12.55 KB 0644
des_crypt.cpython-313.pyc File 20.36 KB 0644
digests.cpython-313.pyc File 6.2 KB 0644
django.cpython-313.pyc File 20.54 KB 0644
fshp.cpython-313.pyc File 7.61 KB 0644
ldap_digests.cpython-313.pyc File 13.81 KB 0644
md5_crypt.cpython-313.pyc File 8.95 KB 0644
misc.cpython-313.pyc File 11.23 KB 0644
mssql.cpython-313.pyc File 9.08 KB 0644
mysql.cpython-313.pyc File 4.29 KB 0644
oracle.cpython-313.pyc File 6.42 KB 0644
pbkdf2.cpython-313.pyc File 17.2 KB 0644
phpass.cpython-313.pyc File 4.8 KB 0644
postgres.cpython-313.pyc File 2.03 KB 0644
roundup.cpython-313.pyc File 886 B 0644
scram.cpython-313.pyc File 14.6 KB 0644
scrypt.cpython-313.pyc File 12.57 KB 0644
sha1_crypt.cpython-313.pyc File 5.76 KB 0644
sha2_crypt.cpython-313.pyc File 15.02 KB 0644
sun_md5_crypt.cpython-313.pyc File 11.85 KB 0644
windows.cpython-313.pyc File 10.9 KB 0644
Filemanager