Golang
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
In der Programmiersprache Go ist es eine gängige Praxis beim Umgang mit HTTP-Anfragen, insbesondere unter Verwendung der net/http
-Bibliothek, die automatische Umwandlung des Anfragepfads in ein standardisiertes Format. Dieser Prozess umfasst:
Pfade, die mit einem Schrägstrich (/
) enden, wie /flag/
, werden auf ihre nicht-schließende Entsprechung, /flag
, umgeleitet.
Pfade, die Verzeichnis-Traversierungssequenzen wie /../flag
enthalten, werden vereinfacht und auf /flag
umgeleitet.
Pfade mit einem abschließenden Punkt wie in /flag/.
werden ebenfalls auf den sauberen Pfad /flag
umgeleitet.
Eine Ausnahme wird jedoch bei der Verwendung der CONNECT
-Methode beobachtet. Im Gegensatz zu anderen HTTP-Methoden löst CONNECT
nicht den Pfadnormalisierungsprozess aus. Dieses Verhalten eröffnet eine potenzielle Möglichkeit, auf geschützte Ressourcen zuzugreifen. Durch die Verwendung der CONNECT
-Methode zusammen mit der Option --path-as-is
in curl
kann man die standardmäßige Pfadnormalisierung umgehen und möglicherweise eingeschränkte Bereiche erreichen.
Der folgende Befehl demonstriert, wie man dieses Verhalten ausnutzen kann:
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)