Napisane: 6.10.2015, 21:21:42 | |
Grupa: Zarejestrowani Postów: 285 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. |
Forum: PHP · Podgląd postu: #1173006 · Odpowiedzi: 34 · Wyświetleń: 2 291 |
Napisane: 6.10.2015, 18:42:28 | |
Grupa: Zarejestrowani Postów: 285 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. |
Forum: PHP · Podgląd postu: #1172986 · Odpowiedzi: 34 · Wyświetleń: 2 291 |
Napisane: 6.10.2015, 00:25:19 | |
Grupa: Zarejestrowani Postów: 285 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ć. |
Forum: PHP · Podgląd postu: #1172905 · Odpowiedzi: 34 · Wyświetleń: 2 291 |
Napisane: 5.10.2015, 23:01:42 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
No da, ale będzie to tożsame z wpisaniem mojadomena.pl. Istotne jest tylko na jaki adres ip zostanie wysłany nagłówek i jaki host będzie zawierał. Nie musisz być hakerem. Nagłówek możesz wysłać telnetem. Możesz wpisać telnet 127.0.0.1 80 Nie ma znaczenia czy wpiszesz 127.0.0.1, localhost, mojadomena.pl czy www.mojadomena.pl, bo wg informacji w ww pliku i tak zawsze połączysz się z usługą na porcie 80 swojego kompa. Przygotuj sobie plik x.txt a w nim na poszczególnych vhostach wpisz poszczególne: ip, local, z www, bez www. Odpal przeglądarkę i zobacz plik x.txt na poszczególnych adresach. Teraz notatnik i 2 linijki GET /x.txt HTTP/1.1 Host: ... W miejce kropek wstaw poczególne hosty. Ważne: plik musi mieć znak nowej linii w formacie win i po nagłówku daj jedną pustą linię. Ctrl+a, ctrl+c. Otwórz telnet jak wcześniej i szybko wklej. Zobacz rezultaty. |
Forum: PHP · Podgląd postu: #1172899 · Odpowiedzi: 34 · Wyświetleń: 2 291 |
Napisane: 5.10.2015, 21:43:10 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
No to jeśli vhosty na jednym serwerze to: podmiana hosta w nagłówku = zmiana adresu w pasku przeglądarki. Zakładając, że nie masz po proxy to działania przeglądarki: dla http://mojadomena.pl/index.php Rozwiąż DNS mojadomena.pl =>127.0.0.1 Połącz 127.0.0.1:80 GET /index.php HTTP/1.1 Host: mojadomena.pl dla http://www.mojadomena.pl/index.php Rozwiąż DNS www.mojadomena.pl =>127.0.0.1 Połącz 127.0.0.1:80 GET /index.php HTTP/1.1 Host: www.mojadomena.pl Więc, jak widzisz sama podmiana w nagłówku na nic nie wpływa, poza tym że pójdzie z innego vhosta. Sprawdź na localhoście dodaj te mojedomeny w pliku C:\Windows\System32\drivers\etc\hosts ze wskazaniem na 127.0.0.1 ustaw vhosty na apachu do różnych katalogów i podmieniaj nagłówek. Mam nadzieję, że zrozumiesz, bo inaczej nie potrafię tego wytłumaczyć |
Forum: PHP · Podgląd postu: #1172897 · Odpowiedzi: 34 · Wyświetleń: 2 291 |
Napisane: 5.10.2015, 21:06:04 | |
Grupa: Zarejestrowani Postów: 285 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 |
Forum: PHP · Podgląd postu: #1172892 · Odpowiedzi: 34 · Wyświetleń: 2 291 |
Napisane: 5.10.2015, 18:21:23 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Ja szczerze mówiąc, nie bardzo rozumiem pojęcie podmiana hosta. Podstawową zaletą protokołu HTTP 1.1 jest możliwość utrzymania wielu stron z różnymi domenami na jednej maszynie. Np Kowalski i Iksiński mają strony na darmowym hostingu powiedzmy na maszynie o ip 201.201.201.201. Obaj mają wykupione domeny kowalski.pl i iksinski.pl. Kiedy wpisujesz jedną z tych domen w przeglądarkę, DNS zwraca odpowiedź 201.201.201.201. Więc przeglądarka łączy się z tym ip i wysła nagłówek GET / HTTP/1.1 Host: kowalski.pl albo GET / HTTP/1.1 Host: iksinski.pl i tylko od tego nagłówka zależy czyją stronę domową obejrzysz. Dla mnie osobiście potrzeba odczytania hosta z nagłówka w skrypcie jest dziwna i opisana sytuacja wydaje się dość wydumana. Trzeba po prostu pamiętać, że to tylko nagłówek i jeśli już coś potrzebujesz z niego wyciągnąć powinno być walidowane/filtrowane/odpowednio escapowane przed wykorzystaniem. Co do Twojego edit2 -> faktycznie nie słyszałem o takim ataku, natomiast widzę tu tylko kolejną górnolotną nazwę dla złapania jakiegoś syfu w danych od użytkownika, a do tego z tego co ja rozumiem ten artykuł, to atak na użytkowników konkretnego serwera proxy, o ile ktoś jeszcze utrzymuje takie serwery do cachowania, a nie tylko do filtrowania ruchu. |
Forum: PHP · Podgląd postu: #1172882 · Odpowiedzi: 34 · Wyświetleń: 2 291 |
Napisane: 22.02.2013, 23:02:00 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Nie do końca rozumiem Twoje problemy, ale na szybko wydaje mi się, ze u mnie jakoś tak by to wyglądało Składniki: id|nazwa 1 Wynagrodznie normalne 2 Potrącenie bo klient wstał lewą nogą Kontrahent 1 Iksiński Historia składników id|_kontrahenta|id_skladnika|data_od|wartość 1 1 01-01-2012 20 1 1 01-05-2012 21 1 2 01-05-2012 -10 1 2 03-05-2012 0 Wykonane rozliczenia: id_kontrahenta|do_dnia 1 01-03-2012 1 01-05-2012 Oczywiście dodatkowo klucze podstawowe jednokolumnowe, indeksy unique i różne dodatkowe informacje o rachunkach jak data wystawienia, kwota itd, itp. |
Forum: Bazy danych · Podgląd postu: #1027745 · Odpowiedzi: 1 · Wyświetleń: 423 |
Napisane: 7.02.2013, 13:36:56 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Jak wysyłasz location nie poprzedzone niczym to tak jakbyś odwólywał się do ./, jeśli jesteś 127.0.0.1/x i wyślesz location x to poleci do 127.0.0.1/x/x, czemu Ci działa gdzie indziej nie potrafię odpowiedzieć niestety. |
Forum: PHP · Podgląd postu: #1023900 · Odpowiedzi: 12 · Wyświetleń: 423 |
Napisane: 3.01.2013, 22:10:55 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Pokaż jeszcze kawałki prawdziwych tabel bo coś pokręciłeś ten opis. |
Forum: PHP · Podgląd postu: #1016038 · Odpowiedzi: 2 · Wyświetleń: 297 |
Napisane: 28.09.2010, 20:18:11 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
file_get_contents() |
Forum: PHP · Podgląd postu: #793920 · Odpowiedzi: 2 · Wyświetleń: 554 |
Napisane: 25.09.2010, 21:43:13 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
|
Forum: MySQL · Podgląd postu: #793072 · Odpowiedzi: 1 · Wyświetleń: 2 654 |
Napisane: 25.09.2010, 21:48:55 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
|
Forum: MySQL · Podgląd postu: #793074 · Odpowiedzi: 3 · Wyświetleń: 821 |
Napisane: 15.05.2008, 17:45:44 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
|
Forum: Przedszkole · Podgląd postu: #471689 · Odpowiedzi: 4 · Wyświetleń: 1 247 |
Napisane: 13.05.2008, 08:26:07 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Jak masz publiczne ip to sprawdź sobie przez proxy wymuszone nawet dla localhosta, a tak z ciekawości dlaczego nie ścieżki względne? |
Forum: Przedszkole · Podgląd postu: #470741 · Odpowiedzi: 2 · Wyświetleń: 955 |
Napisane: 8.05.2008, 16:11:51 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
A w jakim protokole? W HTTP nagłówek kończy się "\r\n\r\n", więc najłatwiej $offset=strpos($odpowiedz,"\r\n\r\n"), i nagłówek masz do offset +4, a dalej treść, a jak chcesz się bawić w odczytywanie linii, to sprawdzasz czy trim($linia)=='' i do pierwszego wystąpienia jest nagłówek, a po tym treść. Uważaj na transfer-encoding:chunked |
Forum: PHP · Podgląd postu: #469469 · Odpowiedzi: 2 · Wyświetleń: 1 006 |
Napisane: 6.05.2008, 11:55:50 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
ja tylko przekopiowałem Twój kod, teraz możesz funkcję szzz wywoływać gdzie chcesz. Jedyne o co chodzi, to żebyś tworzył obiekt klasy "a" a nie "fpdf". Edit: poprawiłem na polski |
Forum: Przedszkole · Podgląd postu: #468496 · Odpowiedzi: 6 · Wyświetleń: 1 482 |
Napisane: 6.05.2008, 11:35:09 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #468486 · Odpowiedzi: 15 · Wyświetleń: 4 989 |
Napisane: 17.04.2008, 08:07:13 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Szkoda, że się nie wysilasz nawet na przeczytanie manuala |
Forum: Przedszkole · Podgląd postu: #463937 · Odpowiedzi: 6 · Wyświetleń: 820 |
Napisane: 15.04.2008, 09:56:37 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Takiej mniej więcej rzeczy robiłem z accesem i mnie dobił ;P Może przyda Ci się to http://office.microsoft.com/pl-pl/access/CH100728991045.aspx, A jeśli chodzi o tworzenie tabel itd to moim zdaniem mniej sobie bólu narobisz jak stworzysz bazę w accesie tam określisz tabele i inne takie, a strukturę w razie potrzeby będziesz przenosił jako plik mdb po prostu. Co do kodowania to wydaje mi się że w starych wersjach był win-1250 a teraz jest unicode, ale pewien nie jestem. |
Forum: Przedszkole · Podgląd postu: #463431 · Odpowiedzi: 2 · Wyświetleń: 800 |
Napisane: 5.04.2008, 20:47:52 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
|
Forum: Przedszkole · Podgląd postu: #461236 · Odpowiedzi: 2 · Wyświetleń: 1 158 |
Napisane: 5.04.2008, 20:03:29 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
|
Forum: Przedszkole · Podgląd postu: #461222 · Odpowiedzi: 7 · Wyświetleń: 1 715 |
Napisane: 5.04.2008, 21:09:40 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
no bo dublujesz htmlentities() za pierwszym razem już wystarczy i zmienia np > w > i to wystarczy, za drugim razem zmienia to w & amp;gt;(bez spacji) i w rezultacie widzisz w oknie >, a podumuwując wypowiedzi kolegów użyj najszybciej jak się da i napewno przed zapytaniem do bazy Edit: poprawiłem nazwę funkcji Edit2: na tym forum też mam drobny problem z htmlentities |
Forum: Przedszkole · Podgląd postu: #461253 · Odpowiedzi: 11 · Wyświetleń: 2 287 |
Napisane: 12.03.2008, 10:40:04 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Jest wg mnie przyczyną tych krzaków. Nie znam się na JS, ani na Ajaxie nic a nic, ale powinieneś chyba przed prezpostowaniem przerobić treść na url encoded, bo inaczej treść POST'a wysyłanego do data.php wygląda tak: nick=kosheen2k&email=eduardo@kosheen.frytki.smaz.one.pl&text=asdasdasdasdasdasdassdasdasd tresc testowa :e ąśćżśąłśóęóżćóąę a chyba nie powinna tak wyglądać, zwłaszcza że ten request posta definiuje to jako: Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Edit:
Zaczerpnięte z: http://cass-hacks.com/articles/code/js_url_encode_decode/ |
Forum: PHP · Podgląd postu: #452571 · Odpowiedzi: 2 · Wyświetleń: 763 |
Napisane: 12.03.2008, 22:15:23 | |
Grupa: Zarejestrowani Postów: 285 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
$postfields['loginsubmit']='Login'; Ci brakuje i poubieraj indeksy tablic w apostrofy, możesz też popracować trochę nad kodem, bo można to trochę lepiej napisać ;p |
Forum: Przedszkole · Podgląd postu: #452766 · Odpowiedzi: 1 · Wyświetleń: 669 |
Nowe odpowiedzi Brak nowych odpowiedzi Popularny temat (Nowe) Popularny temat (Brak nowych) |
Sonda (Nowe) Sonda (Brak nowych) Zamknięty temat Przeniesiony temat |
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 03:11 |