Bezpieczeństwo w PHP (HTTP Cache Poisoning via Host Header Injection) |
Bezpieczeństwo w PHP (HTTP Cache Poisoning via Host Header Injection) |
4.10.2015, 14:59:20
Post
#1
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 4 Dołączył: 3.01.2010 Ostrzeżenie: (0%) |
Chodzi mi o atak w stylu https://nfsec.pl/security/5505 http_host ale z wykorzystaniem request_uri
Czy jest możliwe wywołanie strony np cos.pl/aaaa/ssss/aaa/fff a w request_uri przesłanie np / ? Nie mogłem znaleźć takiej informacji nigdzie w internecie. Mianowicie takim atakiem możnabybyło zapętlić np stronę główną. Bo jeżeli skrypt php by automatycznie przekierowywał np ze slashu na bez slasha np. wp.pl/cos/ na wp.pl/cos i w wp.pl/cos request_uri by wskazywał wp.pl/cos to powstało by zapetlenie Proszę o info Pozdrawiam. |
|
|
5.10.2015, 21:06:04
Post
#2
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Chyba zamiast:
header("Location: <a href="http://mojadomena.pl/"%3b%29;" target="_blank">http://mojadomena.pl/"); powinno być: header("Location: http://mojadomena.pl"); Bo nic mi nie wiadomo żeby tagi html były interpretowane w nagłówkach. A co do podmiany tego hosta, wczytaj się w posta z iksińskim i kowalskim, bo zadaje się, że nie bardzo rozumiesz pojęcie wirtualnego hosta. A to czy hosty będą się nazywać iksiński.pl i kowalski.pl czy też mojadomena.pl i www.mojadomena.pl to dwa odrębne byty i mogą zawierać kompletnie różne strony. Więc ktoś zmieniając host w nagłówku nic nie zyskuje bo: -Jeśli te hosty będą w ramach tego samego serwera to zamiast edytować nagłówek, może po prostu sobie wpisać w na górze przeglądarki albo www.mojadomena.pl i mojadomena.pl i efekt będzie tożsamy jak z manipulacją nagłówkiem. -Jeśli na innych hostach, to prawie podobnie, ale może dostać komunikat o tym, że nie odnaleziono serwera. A co do ataku opisanego na stronie, ja to rozumiem tak (proxy w korpo, cache'ujace): Użytkownik pobiera stronę której nie ma na proxy Użytkownik1(onet.pl)->Proxy->DNS(213.180.141.140)->onet.pl->Proxy->Użytkownik1 A użytkownik2: Użtykownik2(onet.pl)->Proxy->Użytkownik2, Więc jeśli Użytkownik1 spreprauje nagłówek i wyśle spreparowany nagłówek (Host: onet.pl) na swój serwer 201.201.201.201 (zamiast 213.180.141.140), na którym będzie miał vhosta onet.pl, który pluje site <h1>Jestem PRO</h1> i ustawia cache control na 24h, to proxy może zachować stronę na 24h jako <h1>Jestem PRO</h1> I od tej pory użytkownicy w korpo przez 24h będą oglądać stronę <h1>Jestem PRO</h1> pod adresem onet.pl A jeśli nie zrozumiałem arta, to wybacz - albo nie chciało mi się wczytywać, albo był za mądry Co do tego co napisałeś, dalej nie wiem po co sprawdzać http_host - mz na vhost www.mojadomena.pl robisz bezwarunkowe przekierowanie na mojadomena.pl i tyle. P.S. Z tym zapętleniem nie zapętli się, nie ma sensu i w ogóle. Lepszą próbą DoS będzie zablokowanie zapałką F5 |
|
|
Wersja Lo-Fi | Aktualny czas: 24.05.2024 - 23:14 |