Flask
Outils
Flask-unsign
Flask-unsign est un outil de ligne de commande pour récupérer, décoder, bruteforcer et créer des cookies de session d'une application Flask en devinant les clés secrètes.
ressource: https://github.com/Paradoxis/Flask-Unsign
SSRF
Werzeug
Flask Werkzeug debug console RCE
Sans PIN
Endpoint: https://target.com/console
Avec PIN
Nécessite soit un audit en boîte blanche, soit une vulnérabilité permettant d'accéder au code source (path traversal par exemple).
Trouver le fichier /usr/local/lib/pythonX.X/werzeug/debug/__init__.py
repo github: https://github.com/pallets/werkzeug/blob/main/src/werkzeug/debug/__init__.py
Pour reverse l'algorithme de génération du PIN il faut les éléments suivants:
Le nom d'utilisateur du lanceur de l'app.
Le chemin vers le fichier app.py
/usr/local/lib/python3.5/dist-packages/flask/app.py(c)
Le décimal de l'adresse MAC de la machine.
/proc/net/arp
=> Récupérer le device ID./sys/class/net/<device id>/address
=> Récupérer l'adresse MAC.
l'ID de la machine.
/etc/machine-id
ou/proc/sys/kernel/random/boot_id
Code Python pour générer le PIN
Une fois cela fait, exploiter la RCE avec la commandes de la partie Sans PIN.
Dernière mise à jour