O ciekawym błędzie w serwisie Wykop.pl (i pewnie nie tylko)

dodał 6 września 2018 o 21:51 w kategorii Wpadki  z tagami:
O ciekawym błędzie w serwisie Wykop.pl (i pewnie nie tylko)

(źródło: fastjack)

Jeden z Wykopowiczów odkrył prostą podatność, z której istnienia nie zdaje sobie sprawy część osób zajmujących się zawodowo tworzeniem witryn WWW czy ich bezpieczeństwem. Błąd nie jest krytyczny – ale warto o nim pamiętać.

Wykopowicz noisy odkrył w serwisie Wykop.pl, zgłosił i opisał rzadko omawianą podatność umożliwiającą przeprowadzenie ataków phishingowych z wyższym niż zazwyczaj prawdopodobieństwem sukcesu. Jako że noisy zdecydował się poinformować świat o tej podatności w formie wideo, warto także problem opisać w postaci tekstowej.

Na początek wideo

Jeśli macie kilka minut i lubicie patrzeć i słuchać, to zobaczcie film nagrany przez autora odkrycia.

Jeśli tak jak my wolicie słowo pisane, to czytajcie poniżej.

Błąd (czy też podatność?) opiera się na możliwości dodania przez użytkowników własnego linka, w który klikać będą inne osoby. Nie każdy serwis może być podatny, lecz jeśli osoby trzecie mogą dodać linki do swoich stron, to ryzyko istnieje. W przypadku Wykop.pl problem faktycznie występował i miał spore znaczenie – w końcu o dodawanie linków i klikanie w nie na Wykopie chodzi. Co zatem musiało być w linku i do czego prowadziło?

Standardowo linki prowadzące poza główną domenę na Wykopie miały atrybut

aby kliknięcie w nie powodowało załadowanie zlinkowanej treści w nowym oknie. Po co? Głównie po to, aby użytkownik pozostał na stronie Wykopu (w jednej zakładce), a zewnętrzna treść pokazała mu się w nowej zakładce (którą po lekturze zamknie i wróci na Wykop, który ciągle ma otwarty w poprzedniej zakładce). Ma to sens biznesowy.

Problem zaczyna się, gdy strona, na którą trafił, jest złośliwa i zawiera kod, który podmienia poprzednią zakładkę. Taki kod jest trywialny:

Wykonanie tego kodu w nowej zakładce powoduje, że zmienia się adres strony poprzedniej – czyli w tym wypadku po zamknięciu strony nowej internauta trafia z powrotem na Wykop, który już nie jest Wykopem, tylko stroną atakującego. Strona taka może być odpowiednio spreparowana – noisy pokazał przykład strony logowania Wykopu, która zawiera informację o aktualizacji regulaminu. Sprytne, aktualizacja może być powodem wymuszenia ponownego logowania. Pewnie część użytkowników nie zwróci uwagi na to, że adres strony uległ zmianie i trzeba się ponownie zalogować. W ten sposób zapewne można ukraść niejedno hasło.

Źródło: film autorstwa noisy

Jak problem załagodzić

Aby utrudnić przeprowadzenie analogicznego ataku, wystarczy do linków wychodzących dodać odpowiedni parametr:

Noisy zachował się odpowiedzialnie – zanim opublikował szczegóły swojego odkrycia, powiadomił Wykop i dał administracji serwisu czas na usunięcie problemu. Wykop wprowadził rekomendowane zmiany, dzięki czemu ten scenariusz ataku nie jest już możliwy do przeprowadzenia w opisywany sposób. Co ciekawe, już ponad 2 lata temu ten scenariusz ataku opisywał na Wykopie inny użytkownik – ale widocznie go nie testował.

Google nie uważa takiego ataku (zwanego fachowo tabnabbing) za godny wypłaty nagrody, ponieważ wynika on wyłącznie ze sposobu, w jaki zaprojektowano działanie przeglądarek i nie odkryto na razie rozwiązania, które pozwoli na jego globalne wyeliminowanie.

Pozostaje Wam zatem zachowywać czujność w sytuacji, gdy zalogowana sesja znienacka się wylogowywuje. Przed każdym niespodziewanym logowaniem warto sprawdzić adres strony. To trudne. Na co dzień nie mamy na to czasu – i na to liczą przestępcy.

Jeśli interesują Was podobne sztuczki, to zapraszamy na szkolenie z bezpieczeństwa aplikacji WWW, które prowadzimy już za 2 tygodnie w Warszawie – zostało jeszcze kilka miejsc. Na hasło „wykop.pl” 10% zniżki ;)