hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md

9.7 KiB
Raw Blame History

403 & 401 Umgehungen

Erlernen Sie AWS-Hacking von Null auf Heldenniveau mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Sofort verfügbare Einrichtung für Schwachstellenbewertung & Penetrationstests. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- & Exploit-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu öffnen und Spaß zu haben.

{% embed url="https://pentest-tools.com/" %}

Fuzzing von HTTP-Verben/Methoden

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 Antwortheader, möglicherweise werden einige Informationen angezeigt. Zum Beispiel bedeutet eine 200-Antwort auf HEAD mit Content-Length: 55, dass das HEAD-Verb auf die Informationen zugreifen kann. Sie müssen jedoch immer noch einen Weg finden, um diese Informationen zu exfiltrieren.
  • Die Verwendung eines HTTP-Headers wie X-HTTP-Method-Override: PUT kann das verwendete Verb überschreiben.
  • Verwenden Sie das TRACE-Verb und wenn Sie sehr viel Glück haben, können Sie möglicherweise auch die von Zwischenproxys hinzugefügten Header in der Antwort sehen, die nützlich sein könnten.

Fuzzing von HTTP-Headern

  • Ändern Sie den Host-Header in einen beliebigen Wert (der hier funktioniert hat)

  • 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 einigen Kombinationen) und andere Techniken zu verwenden. Hierfür 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 liegt, ist es möglicherweise der Proxy, der Sie daran hindert, auf die privaten Informationen zuzugreifen. Versuchen Sie, HTTP-Request-Smuggling oder hop-by-hop-Header** zu missbrauchen**.
  • Fuzz spezielle HTTP-Header, um nach unterschiedlichen Antworten zu suchen.
  • Fuzzen Sie spezielle HTTP-Header beim Fuzzing von HTTP-Methoden.
  • Entfernen Sie den Host-Header und möglicherweise können Sie den Schutz umgehen.

Pfad-Fuzzing

Wenn /Pfad blockiert ist:

  • Versuchen Sie /%2e/Pfad _(wenn der Zugriff durch einen Proxy blockiert ist, könnte dies den Schutz umgehen). Versuchen Sie auch_** /%252e**/Pfad (doppelte URL-Codierung)
  • Versuchen Sie Unicode-Bypass: /%ef%bc%8fPfad (Die URL-codierten Zeichen sind wie "/"), sodass sie beim Zurückcodieren //Pfad sein werden und möglicherweise haben Sie bereits die /Pfad-Namensprüfung umgangen
  • Andere Pfadumgehungen:
  • site.com/geheim > HTTP 403 Forbidden
  • site.com/GEHEIM > HTTP 200 OK
  • site.com/geheim/ > HTTP 200 OK
  • site.com/geheim/. > HTTP 200 OK
  • site.com//geheim// > HTTP 200 OK
  • site.com/./geheim/.. > HTTP 200 OK
  • site.com/;/geheim > HTTP 200 OK
  • site.com/.;/geheim > HTTP 200 OK
  • site.com//;//geheim > HTTP 200 OK
  • site.com/geheim.json > HTTP 200 OK (ruby)
  • Verwenden Sie all diese Liste in den folgenden Situationen:
  • /FUZZgeheim
  • /FUZZ/geheim
  • /geheimFUZZ
  • Andere API-Umgehungen:
  • /v3/Benutzer_Daten/1234 --> 403 Forbidden
  • /v1/Benutzer_Daten/1234 --> 200 OK
  • {“id”:111} --> 401 Unbefugt
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Unbefugt
  • {“id”:{“id”:111}} --> 200 OK
  • {"Benutzer_ID":"<legit_id>","Benutzer_ID":"<opfer_id>"} (JSON-Parameter-Pollution)
  • Benutzer_ID=ANGREIFER_ID&Benutzer_ID=OPFER_ID (Parameter-Pollution)

Parametermanipulation

  • Ändern Sie den Parametewert: Von id=123 --> id=124
  • Fügen Sie zusätzliche Parameter zur URL hinzu: ?id=124 —-> id=124&isAdmin=true
  • Entfernen Sie die Parameter
  • Ordnen Sie die Parameter neu an
  • Verwenden Sie Sonderzeichen.
  • Führen Sie Grenzwerttests in den Parametern durch - geben Sie Werte wie -234 oder 0 oder 99999999 an (nur einige Beispiellwerte).

Protokollversion

Wenn Sie HTTP/1.1 verwenden, versuchen Sie, 1.0 zu verwenden oder testen Sie sogar, ob es 2.0 unterstützt.

Andere Umgehungen

  • Holen Sie sich die IP oder CNAME der Domain und versuchen Sie, direkt Kontakt aufzunehmen.
  • Versuchen Sie, den Server zu überlasten, indem Sie häufige GET-Anfragen senden (Es hat bei diesem 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 prüfen Sie, ob diese Datei in der Vergangenheit weltweit zugänglich war.

Brute Force

  • Erraten 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.

{% code title="Gängige Anmeldeinformationen" %}

admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

{% endcode %}

Automatische Tools

Sofort einsatzbereite Einrichtung für Schwachstellenbewertung und Penetrationstests. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Exploit-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.

{% embed url="https://pentest-tools.com/" %}

Erlernen Sie AWS-Hacking von Null auf Heldenniveau mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: