Python Internal Read Gadgets
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Verschiedene Schwachstellen wie Python Format Strings oder Class Pollution könnten es Ihnen ermöglichen, interne Python-Daten zu lesen, aber nicht, Code auszuführen. Daher muss ein Pentester das Beste aus diesen Leserechten machen, um sensible Berechtigungen zu erhalten und die Schwachstelle zu eskalieren.
Die Hauptseite einer Flask-Anwendung wird wahrscheinlich das app
globale Objekt haben, wo dieses Geheimnis konfiguriert ist.
In diesem Fall ist es möglich, auf dieses Objekt zuzugreifen, indem man einfach ein beliebiges Gadget verwendet, um globale Objekte von der Seite zum Umgehen von Python-Sandboxen zuzugreifen.
Im Fall, dass die Schwachstelle in einer anderen Python-Datei liegt, benötigt man ein Gadget, um Dateien zu durchlaufen, um zur Hauptdatei zu gelangen, um auf das globale Objekt app.secret_key
zuzugreifen, um den Flask-Geheimschlüssel zu ändern und in der Lage zu sein, Privilegien zu eskalieren, indem man diesen Schlüssel kennt.
Eine Payload wie diese aus diesem Bericht:
Verwenden Sie dieses Payload, um app.secret_key
(der Name in Ihrer App könnte anders sein) zu ändern, um neue und privilegierte Flask-Cookies signieren zu können.
Mit diesen Payloads aus diesem Bericht können Sie auf die machine_id und die uuid des Knotens zugreifen, die die Hauptgeheimnisse sind, die Sie benötigen, um den Werkzeug-Pin zu generieren, den Sie verwenden können, um auf die Python-Konsole in /console
zuzugreifen, wenn der Debug-Modus aktiviert ist:
Beachten Sie, dass Sie den lokalen Pfad des Servers zu app.py
erhalten können, indem Sie einen Fehler auf der Webseite erzeugen, der Ihnen den Pfad gibt.
Wenn die Schwachstelle in einer anderen Python-Datei liegt, überprüfen Sie den vorherigen Flask-Trick, um auf die Objekte aus der Haupt-Python-Datei zuzugreifen.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)