Cache Poisoning to DoS
Auf dieser Seite finden Sie verschiedene Variationen, um zu versuchen, den Webserver dazu zu bringen, auf Anfragen mit Fehlern zu antworten, die für die Cache-Server gültig sind.
HTTP-Headerübergroße (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 antwortet mit einer 400-Antwort, die möglicherweise gecacht wird:
HTTP Meta Character (HMC) & Unerwartete Werte
Senden Sie einen Header, der einige schädliche Metazeichen wie und enthält. Um den Angriff auszuführen, müssen Sie zuerst den Cache umgehen.
Ein schlecht konfigurierter Header könnte einfach \:
als Header sein.
Dies könnte auch funktionieren, wenn unerwartete Werte gesendet werden, wie z.B. ein unerwarteter Content-Type:
Ungekoppelte Überschrift
Einige Websites geben einen Fehlerstatuscode zurück, wenn sie bestimmte Header im Anfrage sehen, wie z.B. den X-Amz-Website-Location-Redirect: someThing Header:
HTTP-Method-Override-Angriff (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 schlechte 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:
Langer Redirect-DoS
Wie im folgenden Beispiel wird x nicht zwischengespeichert, sodass ein Angreifer das Redirect-Verhalten missbrauchen könnte, um das Redirect so groß zu machen, dass ein Fehler zurückgegeben wird. Personen, die versuchen, auf die URL zuzugreifen, ohne den nicht zwischengespeicherten x-Schlüssel zu haben, erhalten die Fehlerantwort:
Host-Header-Groß-/Kleinschreibungsnormierung
Der Host-Header sollte nicht auf die Groß- und Kleinschreibung achten, aber einige Websites erwarten, dass er kleingeschrieben ist und geben einen Fehler zurück, wenn dies nicht der Fall ist:
Pfadnormalisierung
Einige Seiten geben Fehlercodes zurück, indem sie Daten URL-codiert im Pfad senden. Der Cache-Server wird jedoch den Pfad URL-decodieren und die Antwort für den URL-decodierten Pfad speichern:
Fat Get
Einige Cache-Server, wie Cloudflare, oder Webserver, blockieren GET-Anfragen mit einem Body, daher kann dies missbraucht werden, um eine ungültige Antwort zu zwischenspeichern:
Referenzen
Last updated