Cache Poisoning to DoS
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Auf dieser Seite finden Sie verschiedene Variationen, um zu versuchen, den Webserver dazu zu bringen, mit Fehlern auf Anfragen zu reagieren, die gültig für die Cache-Server sind
HTTP Header Oversize (HHO)
Senden Sie eine Anfrage mit einer Headergröße, die größer ist als die vom Webserver unterstützte, aber kleiner als die vom Cache-Server unterstützte. Der Webserver wird mit einer 400-Antwort antworten, die möglicherweise zwischengespeichert wird:
HTTP-Meta-Zeichen (HMC) & Unerwartete Werte
Senden Sie einen Header, der einige schädliche Meta-Zeichen wie < und > enthält. Damit der Angriff funktioniert, müssen Sie zuerst den Cache umgehen.
Ein schlecht konfiguriertes Header könnte einfach \:
als Header sein.
Dies könnte auch funktionieren, wenn unerwartete Werte gesendet werden, wie ein unerwartetes Content-Type:
Unkeyed header
Einige Websites geben einen Fehlerstatuscode zurück, wenn sie bestimmte Header in der Anfrage sehen, wie mit dem X-Amz-Website-Location-Redirect: someThing Header:
HTTP Method Override Attack (HMO)
Wenn der Server das Ändern der HTTP-Methode mit Headern wie X-HTTP-Method-Override
, X-HTTP-Method
oder X-Method-Override
unterstützt, ist es möglich, eine gültige Seite anzufordern, indem die Methode geändert wird, sodass der Server sie nicht unterstützt und eine fehlerhafte Antwort zwischengespeichert wird:
Unkeyed Port
Wenn der Port im Host-Header in der Antwort reflektiert wird und nicht im Cache-Schlüssel enthalten ist, ist es möglich, ihn auf einen ungenutzten Port umzuleiten:
Long Redirect DoS
Wie im folgenden Beispiel wird x nicht zwischengespeichert, sodass ein Angreifer das Verhalten der Umleitungsantwort ausnutzen könnte, um die Umleitung eine URL so groß senden zu lassen, dass sie einen Fehler zurückgibt. Dann erhalten Personen, die versuchen, die URL ohne den nicht zwischengespeicherten x-Schlüssel aufzurufen, die Fehlerantwort:
Normalisierung der Groß- und Kleinschreibung des Host-Headers
Der Host-Header sollte nicht zwischen Groß- und Kleinschreibung unterscheiden, aber einige Websites erwarten, dass er in Kleinbuchstaben geschrieben ist und geben einen Fehler zurück, wenn dies nicht der Fall ist:
Pfadnormalisierung
Einige Seiten geben Fehlercodes zurück, wenn Daten URLencode im Pfad gesendet werden, jedoch wird der Cache-Server den Pfad URLdecode und die Antwort für den URLdecoded Pfad speichern:
Fat Get
Einige Cache-Server, wie Cloudflare, oder Webserver, stoppen GET-Anfragen mit einem Body, sodass dies missbraucht werden könnte, um eine ungültige Antwort zu cachen:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)