Dziurawy blox.pl - ciąg dalszy
Wykryty przez nas błąd w serwisie blogowym blox.pl został usunięty. Ponad 115 000 blogerów nie jest już zagrożonych kradzieżą bloga i konta poczty elektronicznej. Na czym naprawdę polegała usterka w blox.pl?
Wykrytą w blox.pl usterkę - http://www.pcworld.pl/news/104784.html zgłosiliśmy do działu technicznego serwisu wczoraj około południa. Po drobnych trudnościach komunikacyjnych informacja o błędzie trafiła do właściwych osób i dzisiaj rano "dziura" w blox.pl została usunięta. Blogi i konta pocztowe użytkowników są już bezpieczne. Na czym dokładnie polegał znaleziony błąd?
Dowolny blog w serwisie blox.pl można odwiedzić wpisując w przeglądarce internetowej adres typu http://nazwa_bloga.blox.pl/html. Wykryliśmy, że tekst wpisany w pasku adresu przeglądarki internetowej nie był poprawnie filtrowany przez serwis blox.pl, co umożliwiało nieautoryzowane dodanie niemal dowolnego ciągu znaków do kodu strony w serwisie blox.pl. Taki ciąg znaków mógł zawierać po prostu napis, który pojawi się w wyświetlonej stronie. Sprytny włamywacz mógł jednak podać specjalny ciąg znaków, umożliwiający wstawienie w kod witryny skryptu JavaScript lub dowolnego znacznika HTML. To poważne niebezpieczeństwo! Krótki kod w JavaScript pozwalał na przesłanie ciasteczka ( cookie ) internauty na serwer włamywacza. Ciasteczka zawierają ważne dane, np. identyfikator sesji, które mogą posłużyć do podszycia się pod innego użytkownika blox.pl. Włamywacz mógł podać ( np. w komentarzu do wiadomości na cudzym blogu ) odpowiednio spreparowany adres URL, a ciasteczko zapisane przez
blox.pl i zawierające identyfikator sesji internauty, trafiłoby np. na konto pocztowe włamywacza. Zagrożenie było realne. Przygotowany przez nas prosty exploit potwierdził, że wykonanie takich działań było możliwe.
Co więcej, za pomocą specjalnie przygotowanego adresu można było dodać do kodu strony niemal dowolne znaczniki HTML. Odpowiednio przygotowany odnośnik mógł prowadzić na główną stronę blox.pl, która była wtedy wyświetlana w zmodyfikowanej postaci, np. formularz logowania wysyłał nazwę i hasło użytkownika nie do serwerów blox.pl, ale do włamywacza. I w tym przypadku przygotowany przez nas exploit potwierdził, że możliwe było przechwycenie nazwy i hasła użytkownika, który dokonał logowania po kliknięciu w złośliwy odnośnik.
Jak sprawdziliśmy, serwis blox.pl okazał się podatny na ataki typu XSS ( Cross Site Scripting ) i CSRF ( Cross Site Request Forgeries ), wykorzystujące tzw. wstrzyknięcie JavaScript ( ang. JavaScript injection ) jak i poprzez podstawione znaczniki HTML. Co istotne, użycie wstrzyknięcia JavaScript nie było konieczne do przeprowadzenia ataku...
Zagrożenie dotyczyło ponad 115 000 kont blogerów korzystających z blox.pl, a związane było z naprawdę niewielką usterką w kodzie serwisu. Wprawny i złośliwy włamywacz mógł przejąć konto praktycznie każdego blogera, jeśli tylko ten ostatni kliknął w podstawiony odnośnik, a następnie dokonał logowania. Przypomnijmy, logowanie prowadzące do kradzieży konta odbywałoby się przez oficjalną stronę blox.pl, zawierającą tylko nieznaczną modyfikację wprowadzoną przez włamywacza. Doświadczony internauta, przywykły do sprawdzania, jakie odnośniki naprawdę zamierza otworzyć, mógłby zauważyć podejrzaną sekwencję znaków. Czy jednak wszyscy dokładnie sprawdzają klikane odnośniki i czy wszyscy potrafią odróżnić złośliwy kod od np. długiego ciągu parametrów? Z pewnością nie, a błąd w blox.pl mógł kosztować nie tylko utratę konta na blox.pl, ale także utratę konta poczty elektronicznej oferowanego przez portal gazeta.pl ( dostęp to konta pocztowego odbywa się za pomocą tej samej nazwy użytkownika i tego samego hasła ).
Uwaga: oficjalne stanowisko firmy Agora, właściciela serwisu blox.pl, opublikujemy gdy tylko zostanie udostępnione.