Jak tylko wyczytałem informację o znalezieniu błędu na home.pl, do głowy przyszło mi słowo: szantaż. Z radością więc dzisiaj przeczytałem, że home.pl nie dało za wygraną, wykryło lukę i pozwało serwis hack.pl. Może warto wspomnieć, kto jeszcze kilka tygodni temu padł ofiarą akcji antygorianowej? Ano właśnie... "profesjonaliści" z wyżej wymienionej redakcji.
Pierwsza rzecz, która mnie zbulwersowała, to sposób przedstawienia problemu przez hack.pl.
Wstępnie myśleliśmy tylko o napisaniu o błędzie na łamach HACK.pl, a także o udostępnieniu zacieniowanych dowodów, które jednak nie pozwoliłyby na wykorzystanie błędu.
Chcemy postąpić maksymalnie przyjaźnie wobec home.pl, z naszego punktu widzenia, dobrze byłoby gdyby na łamach HACK.pl pojawił się news dotyczący luki w home.pl, ale też rozumiemy Państwa sytuację.
Koszt informacji szacujemy wstępnie na 200,000 złotych, cena - oczywiście - podlega negocjacji. Być może bylibyśmy zainteresowani współpracą z Wami na zasadach partnerskich, czy też reklamą w home.pl.
To nie brzmi jak kulturalne zwrócenie uwagi na błąd. Brzmi jak marnie zatuszowane wyłudzenie. Przynajmniej dla mnie.
Zobaczmy, co faktycznie osiągnęli redaktorzy z hack.pl. W oświadczeniu zdecydowali się podać szczegóły luki (skoro pieniążki przepadły, przynajmniej popularność będzie). Dostali się oni do logów. Jako przykład podają:
XXXX.neoplus.adsl.tpnet.pl - - [02/Apr/2007:16:38:20 +0200]
"GET /sql/sql.php?db=*nazwa_konta*2&table=*nazwa_tabeli*&token=f330213d49aabe[...]&sql_query=SELECT+%2AFROM+%60*nazwa_tabeli*%60++ORDER+BY+%60*pole_w_tabeli*%60+ASC&zero_rows=Rekord+zosta%B3+skasowany&goto=tbl_properties_structure.php&message=Skasowane+rekordy%3A%26nbsp%3B1+%28Wykonanie+zapytania+trwa%B3o+0.0003+sekund%28y%29%29
HTTP/1.1" 200 7111 "[...]" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"
Okay. Możemy z tego faktycznie wyczytać nazwy tabel i bazy danych. Ciekawe jednak, na co się one mogą przydać? Ano na to, że jak już sobie wyczarujemy dostęp do bazy danych, to nie musimy robić np. "SHOW TABLES", tylko możemy je sobie wyciągnąc z query-stringów, żeby dalej psuć serwis. Łebskie. Oczywiście, nikt przy zdrowych zmysłach nie przesyła loginu i hasła GETem, więc taki zarzut (rozważnie lub zapominalsko nie podany) odpada. Z takiego logu faktycznie możemy też odczytać nazwy plików i katalogów. Tyle, że jakieś 90% skryptów ma powszechnie znane adresy do panelów administracyjnych ("/admin" ?). Bo nie wierzę, że nazwa katalogu to jedyne zabezpieczenie jakiegokolwiek panelu sterowania w PHP. A jednak, z pomocą przychodzi strona MENu:
Dalej wyszukałem wszelkie wywołania plików w tym katalogu, i doszedłem do strony w której użytkownik dostawał potwierdzenie o poprawnym zalogowaniu. Po otworzeniu tej strony okazało się, że mam pełen dostęp do panelu administracyjnego.
Wow, udało wam się wejść do niezabezpieczonego panelu?! No shit!! Haxorz. Okay, ale jak w ogole doszło do tego wielkiego włamania?
Aby poznać trzy losowe cyfry wystarczyło napisać skrypt sprawdzający czy istnieje katalog od nazwa_uzytkownika.home.pl/stats100 aż do nazwa_uzytkownika.home.pl/stats999 na danym koncie. Skrypt taki wykonuje się 2 sekundy!
Whoa. To się nazywa znalezienie luki! Ja bym tak nie umiał. I jeszcze wykonanie 500 zapytań HTTP i uzyskanie wszystkich odpowiedzi w ciągu sekundy... cuda, no ale co to dla hackerów. Respekt.
W czasie pisania tego wpisu natknąłem się na podobną opinię na też niezbyt przeze mnie lubianym ihack.pl (witamy w gronie razem z hacking.pl).... Home.pl też do najwyższej półki hosting providerów nie należy, więc mi się to widzi jako kolejna mini wojna :) Do poczytania w święta w sam raz.
P.S. Panowie z hack.pl zapomnięli wspomnieć o pieniążkach w swoim oświadczeniu :(