Cache Poisoning to DoS
Na tej stronie znajdziesz różne warianty, aby spróbować sprawić, by serwer WWW odpowiadał błędami na żądania, które są ważne dla serwerów cache
HTTP Header Oversize (HHO)
Wyślij żądanie z rozmiarem nagłówka większym niż ten obsługiwany przez serwer WWW, ale mniejszym niż ten obsługiwany przez serwer cache. Serwer WWW odpowie kodem 400, który może być zbuforowany:
HTTP Meta Character (HMC) & Unexpected values
Wyślij nagłówek, który zawiera niektóre szkodliwe znaki meta takie jak i . Aby atak zadziałał, musisz najpierw obejść pamięć podręczną.
Źle skonfigurowany nagłówek mógłby być po prostu \:
jako nagłówek.
To również mogłoby zadziałać, jeśli wysłane zostaną nieoczekiwane wartości, takie jak nieoczekiwany Content-Type:
Unkeyed header
Niektóre strony internetowe zwrócą kod statusu błędu, jeśli zobaczą niektóre konkretne nagłówki w żądaniu, jak w przypadku nagłówka X-Amz-Website-Location-Redirect: someThing:
HTTP Method Override Attack (HMO)
Jeśli serwer obsługuje zmianę metody HTTP za pomocą nagłówków takich jak X-HTTP-Method-Override
, X-HTTP-Method
lub X-Method-Override
, możliwe jest zażądanie ważnej strony, zmieniając metodę, aby serwer jej nie obsługiwał, co powoduje, że zła odpowiedź jest buforowana:
Port bez klucza
Jeśli port w nagłówku Host jest odzwierciedlany w odpowiedzi i nie jest uwzględniony w kluczu pamięci podręcznej, możliwe jest przekierowanie go na nieużywany port:
Long Redirect DoS
Jak w poniższym przykładzie, x nie jest buforowane, więc atakujący mógłby wykorzystać zachowanie odpowiedzi przekierowania, aby sprawić, że przekierowanie wyśle URL tak dużą, że zwróci błąd. Wtedy osoby próbujące uzyskać dostęp do URL bez niebuforowanego klucza x otrzymają odpowiedź z błędem:
Normalizacja wielkości liter nagłówka hosta
Nagłówek hosta powinien być niewrażliwy na wielkość liter, ale niektóre strony internetowe oczekują, że będzie pisany małymi literami, zwracając błąd, jeśli tak nie jest:
Normalizacja ścieżki
Niektóre strony zwrócą kody błędów, wysyłając dane URLencode w ścieżce, jednak serwer cache z URLdecode ścieżkę i przechowa odpowiedź dla ścieżki URLdecoded:
Fat Get
Niektóre serwery cache, takie jak Cloudflare, lub serwery webowe, zatrzymują żądania GET z ciałem, więc można to wykorzystać do zbuforowania nieprawidłowej odpowiedzi:
References
Last updated