Jak najłatwiej pozyskać od użytkownika jego hasło? Po prostu o nie poprosić. Phishing to żadna nowość, są tysiące sposobów żeby wyłudzić informacje od...
Sprawdź czy dałbyś się nabrać i wyjawiłbyś swoje hasło tam gdzie nie powinieneś
Jak najłatwiej pozyskać od użytkownika jego hasło? Po prostu o nie poprosić. Phishing to żadna nowość, są tysiące sposobów żeby wyłudzić informacje od użytkownika, który niczego się nie spodziewa, od najprostszych i mam nadzieję już mniej skutecznych maili z prośbą o wyjawienie hasła, po wyrafinowane podrobienie strony w ten sposób, żeby użytkownik myślał, że loguje się do banku, podczas gdy jest na fałszywej stronie WWW. Teraz pojawił się nowy sposób, a w zasadzie sposób nie jest nowy, ale doczekał się dobrych przykładów tzw. "proof of concept" demonstrujących jego działanie. W pierwszej chwili ciężko się zorientować, że coś jest nie tak.
Zadanie jest ułatwione, bo już częściowo wyjawiłem na czym polega problem, ale mimo wszystko warto przekonać się na własnej skórze jak to działa. Otóż, załóżmy, że dowiadujecie się, że znowu wyciekło sto tysięcy haseł, akurat z serwisu z którego korzystacie. Lista wykradzionych haseł została opublikowana. Jeśli chcecie sprawdzić czy wasze hasło również zostało wykradzione, należy wejść pod ten adres i przeszukać listę. Dodam, że nie musicie wyszukiwać prawdziwego hasła, na wszelki wypadek wyszukajcie jakieś inny ciąg znaków. Podstęp powinien skutecznie działać przede wszystkim na użytkowników Google Chrome.
I co? Zauważyliście miejsce w którym coś jest nie tak? Pomysł na wyłudzenie hasła polega na tym, że przy pomocy JavaScript i funkcji preventDefault, anulowane zostaje polecenie wysłane do przeglądarki, w tym wypadku Ctrl + f, czyli skrót odpowiedzialny za wyszukiwanie w treści strony i dalsze działanie przejmuje strona WWW, a nie przeglądarka. Zostaje wyświetlone pole do wpisania wyszukiwanego tekstu, ale to nie jest pole przeglądarki, tylko część strony WWW, która ma wyglądać jak fragment przeglądarki. W efekcie wpisując własne hasło, chcąc je wyszukać, po prostu podajemy je twórcy strony WWW. W tym wypadku zostało to zademonstrowane przez odnalezienie takiego ciągu znaków, który podamy plus drobna modyfikacja na początku i na końcu, żeby uniknąć niechcianego siania paniki, dla osób, które faktycznie odnalazłyby swoje hasła.
Jak można zauważyć, strona symuluje pole służące do wyszukiwania w przeglądarce Chrome. Nie jest ono identyczne (celowo, na potrzeby przykładu), ale wystarczająco podobne, aby nie zauważyć różnic. Użytkownicy innych przeglądarek mają znacznie większe szanse się zorientować, że coś jest nie tak, ale jak zauważa serwis Ars Technica, który opublikował ten przykład na przejęcie wyszukiwanej frazy, nic nie stoi na przeszkodzie, aby opracować inne strony przypominające pole wyszukiwania w innych przeglądarkach.
Trzeba również dodać, że pole do wyszukiwania w Chrome nadaje się do takiej sztuczki szczególnie dobrze, bo wyświetla się na tle strony WWW. Jeśli pole wyszukiwania jest wbudowane w pasek narzędzi przeglądarki, albo dodatkowo całą treść strony jest wyciemniana, a podświetlane są tylko wyniki, jak robi to np. Opera, trudniej osiągnąć wystarczająco przekonujący efekt.
Oczywiście jest to tylko przykład, chodzi o ogólną możliwość anulowania dowolnego skrótu klawiaturowego wywołującego funkcje przeglądarki i zastąpienie go w sposób ukryty dla użytkownika elementem strony WWW. Taką możliwość daje preventDefault. Istnieje drugi przykład demonstrujący działanie tego mechanizmu również zastępujący Ctrl + f.
Po raz kolejny przychodzi smutna refleksja, że przeglądając sieć trzeba cały czas mieć się na baczności. Najmniejsze zmiany powinny nam zapalać czerwoną lampkę. Oby twórcy przeglądarek dodali komunikat, że funkcja preventDefault została wywołana.
Zainteresowanych szczegółami technicznymi odsyłam do artykułu na Ars Technice.
Grafika pochodzi ze strony Unified Constructs.
Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu