Bezpieczeństwo w PHP (HTTP Cache Poisoning via Host Header Injection) |
Bezpieczeństwo w PHP (HTTP Cache Poisoning via Host Header Injection) |
5.10.2015, 23:08:51
Post
#21
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Ja tu pętli nie widzę, może efekt późnej pory. Możesz wytłumaczyć?
|
|
|
5.10.2015, 23:11:54
Post
#22
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Może już też nie myślę, ale wg mnie postawiłeś błędne założenie, że: po przekierowaniu z www na bez www (zmiana url w pasku adresu), zmienia się także Host z nagłówka czyli $_SERVER['HTTP_HOST'].
Nie zmienia się, pozostaje taki sam jaki podmieniłeś i wchodzisz w pętle przekierowań, bo $_SERVER['HTTP_HOST'] ciągle pokazuje że jest z www. |
|
|
5.10.2015, 23:21:01
Post
#23
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Jak mi się uda usiąść jutro do kompa to zweryfikuję. Wg mojej wiedzy host w nagłówku powinien się zmienić, bo jak bez tego miałyby działać przekierowania...
Jeśli mnie ubiegniesz to podziel się wnioskami, żebym się nie fatygował |
|
|
5.10.2015, 23:27:18
Post
#24
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Żeby nie być gołosłownym
|
|
|
6.10.2015, 00:25:19
Post
#25
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
To mi się kupy nie trzyma , ani specyfikacji HTTP . Aż musiałem kompa odpalić, bo Live HTTP Headers od zawsze miało "niespodzianki".
Tu zrzut z jakiegoś snifera wireshark i host ewidentnie zmieniony: Edit: ciastka tylko usunąłem Edit2: dobrze, że nie wybrałeś strony na SSL GET / HTTP/1.1 Host: www.symfony.com Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 Accept-Encoding: gzip, deflate, sdch Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4 HTTP/1.1 301 Moved Permanently Age: 116 Content-Type: text/html Date: Mon, 05 Oct 2015 23:11:00 GMT Location: http://symfony.com/ Server: nginx/1.4.6 (Ubuntu) Via: 1.1 varnish-v4 X-Varnish: 112821228 112330543 Content-Length: 193 Connection: keep-alive <html> <head><title>301 Moved Permanently</title></head> <body bgcolor="white"> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.4.6 (Ubuntu)</center> </body> </html> GET / HTTP/1.1 Host: symfony.com Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 Accept-Encoding: gzip, deflate, sdch Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4 Pozostaje test ostateczny, ale nie chce mi się apacha w środku nocy stawiać. Jutro postaram się zweryfikować. Ten post edytował netmare 6.10.2015, 00:28:54 |
|
|
6.10.2015, 01:33:24
Post
#26
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Hmmm no ok, nawet gdyby Live HTTP Headers kłamało, też mu nie ufam. To podstawowa sprawa:
URL: http://symfony.com Host: symfony.com 200 OK URL: http://symfony.com Host: symfony.com/ 400 Bad Request URL: http://symfony.com Host: symfonyxxxx.com 204 No Content URL: http://symfony.com Host: www.symfony.com Nie dostaję nic, po czym mogę wnioskować, że wpadłem w pętle przekierowań, a potwierdza mi to Live HTTP Headers. Sniffer akurat Fiddler2 nie pozwala mi wysłać różnego URL i Hosta. Daj znać jak coś ustalisz, bo też jestem ciekaw. |
|
|
6.10.2015, 02:38:42
Post
#27
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) |
Wybaczcie ale sie tak rozpisaliscie ze chyba godzina czytania.
To nie wiem czy nie byla juz odpowiedz. Ale czy nie lepiej użyć modułu ModRewrite od apache?.. Wedlug mnie po hoscie bylo by bez sensu bo ten naglowek mozna dowolnie ustawiac... Nawet mozna by ustawic np. facebook.com wchodzac tu czy gdzie indziej. -------------------- |
|
|
6.10.2015, 06:53:30
Post
#28
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 4 Dołączył: 3.01.2010 Ostrzeżenie: (0%) |
Modrewrite nie jest obslugiwane na kazdym serwerze. Postaram sie po pracy kolo 16 potestowac. Jak na cos wpadne to dam znac.
Edit: pozatym przekierowanie w modrewrite tez korzysta z http_host edit2: panowie przetestowałem wtyczką do ff modify header i dzieje się wszystko jak mówiłem, robi się zapętlenie (ale nie jest ono w cache) na 100% stronach które mają przekierowanie. Więc nie wiem na jakiej zasadzie miałoby to pójść poza własny komputer, Wieczorkiem wynagrodzę wszystkie pomocne wypowiedzi chociaż przyciskiem 'pomógł' pozdrawiam Ten post edytował szajens 6.10.2015, 13:31:06 |
|
|
6.10.2015, 18:42:28
Post
#29
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Daj znać jak coś ustalisz, bo też jestem ciekaw. Ustaliłem tyle, że Host w nagłówku się zmienia i po stronie PHP w $_SERVER jest widoczna zawsze wartość z konkretnego wywołania. Z ciekawostek jeszcze zdziwiło mnie, że wstawienie w host slesza wali błędem, natomiast <> już nie Może gdyby ktoś miał virtual host *, i pokusił się o jakieś logowanie tego jakie hosty mu się wysyła... Ale fantastyka piętro wyżej, bo komu by się chciało sprawdzać taką podatność. Natomiast podatności na zapętlenie dalej nie widzę. Nawet mozna by ustawic np. facebook.com wchodzac tu czy gdzie indziej. No oczywiście że można, tylko na 99% serwerów produkcyjnych zobaczysz coś jak host not found. A na pozostałych zobaczysz dokładnie to samo co byś w hosta nie wpisał. Jakieś na siłę potworzone dziury przez zaczynających przygodę z PHP pomijamy. edit2: panowie przetestowałem wtyczką do ff modify header i dzieje się wszystko jak mówiłem, robi się zapętlenie (ale nie jest ono w cache) na 100% stronach które mają przekierowanie. To zaprezentuj na przykładzie powiedzmy wp.pl, jak się ta pętla tworzy, bo mi jak na razie nie udało się powtórzyć Twojego wyczynu. Może jakiś filmik, albo dokładny opis co robisz w tym ff. |
|
|
6.10.2015, 19:48:16
Post
#30
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Wydaje mi się, że te wszystkie rozbieżności wynikają po prostu z różnej obsługi protokołu przez różne przeglądarki/soft.
Ewidentnie wchodzę w pętle przekierowań, video: https://youtu.be/IxZKD5wHkRs Pobawiłem się z Apache i ja po przekierowaniu, nawet dałem 2 przekierowania, mam cały czas Host równy temu co podałem w nagłówku dla pierwszego URLa. |
|
|
6.10.2015, 20:34:19
Post
#31
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 4 Dołączył: 3.01.2010 Ostrzeżenie: (0%) |
no i filmik ode mnie: podmiana http_host
edit: Damonsson co ty masz za RESTClient? a jak wywołasz allegro.pl i ustawisz hosta wp.pl to w cache przeglądarki zostaje przekierowanie na wp hehe Ten post edytował szajens 6.10.2015, 21:08:59 |
|
|
6.10.2015, 21:19:10
Post
#32
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
http://restclient.net/ - w sumie używam tego do testowania REST API. Ale do podmiany nagłówków też się nadaje.
Nie mam czasu, żeby zgłębić temat, ale coś mi się tu nie zgadza z tym wszystkim, trzeba by to dokładnie sprawdzić i wyciągnąć wtedy jakieś wnioski. |
|
|
6.10.2015, 21:21:42
Post
#33
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
No to jak dla mnie wszystko jasne i zgadza się, z tym co napisałem powyżej. Przecież to nie będzie pętla przekierowań, tylko błąd operatora.
Więc jest takie coś w tym ff network.http.redirection-limit u mnie miało wartość 20. Przestawiłem na 2000 żeby zdążyć kliknąć w to modify headers. I jak tylko wziąłem Disable. FF od razu podołał z wczytaniem www.wp.pl Mój wniosek z tego taki, że te softy, zamiast podmienić nagłówek raz, podmieniają go na stałe (dlatego też Damonsson widzi ciągle ten sam host). W połączeniu z redirem robi się pętla. Bo idzie: GET / HTTP/1.1 Host: wp.pl -> Location: http://www.wp.pl/ I tu przeglądarka robi: GET / HTTP/1.1 Host: www.wp.pl Ale po tym jak ona to zrobi wasz soft podmienia nagłówek (swoją drogą, nie wiem czemu użyłeś tam add, a nie modify) zamienia host na wp.pl, więc wysyłacie drugi raz dokładnie taki sam nagłówek i potem kolejne razy aż do osiągnięcia limitu redirów. Więc jak dla mnie to nie pętla przekierowań, a atak powerusera na własną przeglądarkę, bo nic poza tym to działanie do tematu nie wnosi (dalej uważam, że F5 i zapałka są łatwiejsze w użyciu i nie wywalą się po określonej liczbie redirów ). Poza tym jest tu sprzyjająca sytuacja, że redir jest z / na / bo raczej na każdym site jest domyślny index, ale gdyby adres wpisywany był mojadomena.pl/a.php, a z niego byłby redir www.mojadomena.pl/b.php to po podmianie hosta doszłoby od razu do 404 zamiast pętli. Tak czy inaczej dzięki za gimnastykę intelektualną (już się wystraszyłem że naprawdę nie widzę czegoś oczywistego) i aż szkoda że się temat wyczerpał. Gdybyście jeszcze mogli podrzucić nazwę jakiegoś darmowego softu, do robienia takich ładnych filmików Edit: Nie mam czasu, żeby zgłębić temat, ale coś mi się tu nie zgadza z tym wszystkim, trzeba by to dokładnie sprawdzić i wyciągnąć wtedy jakieś wnioski. Dokładnie nie sprawdziłem, też mam ograniczenia czasowe. Ale wnioski nasunęły się same po obejrzeniu filmików, szczególnie tego drugiego z zieloną kontrolką podmiany wartości nagłówka. Ten post edytował netmare 6.10.2015, 21:25:29 |
|
|
6.10.2015, 21:27:05
Post
#34
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 4 Dołączył: 3.01.2010 Ostrzeżenie: (0%) |
haha z tą zapałką dobre )
podsyłam linka do programu http://www.dobreprogramy.pl/Debut-Video-Ca...dows,33120.html |
|
|
6.10.2015, 22:49:12
Post
#35
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Dokładnie @netmare.
Też jest to dla mnie najlogiczniejsze wyjaśnienie tych dziwnych pętli. I chyba wyczerpanie w pełni tematu. Ten post edytował Damonsson 6.10.2015, 22:49:25 |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 07:44 |