Plamka na białym ekranie
O Centrum Filmowym Helios
Centrum Filmowe Helios – sieć kin powstała w 1993 roku na bazie dwóch największych w owym czasie kin w Łodzi, „Capitolu” i „Bałtyku”. Obecnie sieć składa się z 14 kin różnej wielkości – od jednosalowych po 9. salowe.
Błędy
Na stronie CF Helios mamy możliwość zapoznania się ze wszystkimi filmami, które były grane w tej sieci kin.
Podczas normalnego działania na stronie przedstawione są nam dane o filmie takie jak opis filmu czy obsada. Po wybraniu filmu wraz z adresem strony przekazywany jest numer identyfikacyjny wybranego filmu.
Brak jego filtracji umożliwia nam wprowadzenia do aplikacji danych, które doprowadzą do nadużycia.
Wykorzystanie
Standardowy adres wyświetlający dane filmu „Piła 3” wygląda następująco:
http://heliosnet.pl/film-frame.php?id=824&co=opis
Zadaniem jego jest pobranie z bazy danych informacji o elemencie, którego ID jest równe 824. Wykorzystując brak filtracji zmiennej możemy tak ją przerobić, aby zamiast informacji o filmie „Piła 3” zostały nam pokazane dane wszystkich filmów zawartych w bazie danych. Dokonać tego możemy poprzez modyfikacje zmiennej „id” tak by miała ona postać:
id=824 OR 1=1;
Celem dodanego kodu jest zmiana zapytania tak, by nie pobierało ono danych konkretnego filmu, ale wszystkich zawartych w bazie. Mamy tu do czynienia z SQL Injection, czyli modyfikacją oryginalnego zapytania SQL poprzez brak filtracji użytych w nim danych.
Efektem działania powyższej modyfikacji jest:
Poprawki
Po 4 miesiącach udało się poprawić skrypt.
Tagi: helios, heliosnet, SQL Injection
Kategoria: Bezpieczeństwo, BugTraq
No i .. ? Co ci to daje ? Masz listę wszystkich filmów. To samo możesz mieć dzwoniąc do kina o ile się nie mylę.
Przedstawiony błąd nie jest groźny pokazuje jedynie podatność. Jeśli ilość filmów była by większa można by pokusić się o DDoS. Miałem stronę, która po wysłaniu zmodyfikowanego zapytania SQL tak obiążała serwer, że stawała się niedostępna na ~1h (wystarczyło jedno zapytanie)
Hmmm, faktycznie, nie pomyślałem o tym w ten sposób…
Minął ponad miesiąc, a oni nadal tego nie poprawili (sprawdzałem). Wstyd…
spoko ;-) jakieś pół roku znalazłem w jednym z większych sklepów błąd, który umożliwia wyciągnięcie bazy danych klientów i nadal jest niezałatany
Aż woła o pomste do Boga jak się widzi jak są robione strony, co by nie mówić dla dużego zleceniodawcy…
To teraz tylko zostaje wyciągnąć info kto to zrobił :>
Co wiecej mozna bylo poznawac nawet hasla do baz danych obslugiwanych przez serwer ;) Blad jednak zostal juz poprawiony i sie nie da w ten sposob :>
Można było, można :)) ale tylko te do 8 znaków ;-)