Tere fere Referer(e)
Napisał: Patryk Krawaczyński
26/10/2016 w Bezpieczeństwo Brak komentarzy. (artykuł nr 566, ilość słów: 367)
6 października napisał do mnie mejla Borys Lącki o temacie, który raczej przyciągnął od razu moją uwagę, ponieważ było w nim słowo: “ALAAAAAAAAAAAAAAAAAAAARM”. Gdzie się paliło? Otóż historia jest na tyle ciekawa, że bardziej przypomina dwie osoby patrzące na siebie poprzez dwa ustawione lustra pod kątem 90%. W treści wiadomości były też screenshoty zawierające pełną ścieżkę URL do systemu webalizer, który przelicza liczbę odwiedzin dla NF.sec. Skąd Borys wiedział o tym URL? Przecież adres był w głębokim ukryciu ;). Wyjaśnienie jest proste. Ja na swoim webalizerze zobaczyłem w refererach adres pochodzący z bothunters.pl. Nie otworzyłem nowej karty i wykonałem sekwencji Ctrl+C,Ctrl+V tylko odruchowo kliknąłem w link. W tym momencie mój adres webalizera pojawił się jako referer w systemie statystyk bothunters. Chwila zapomnienia i miejscówka spalona. Ale nie o tym – temat jest na tyle ciekawy w kontekście odkrycia, które udostępnił na Twitterze Kacper Rybczyński.
Derek Prior zorientował się, że bardzo wiele serwisów udostępnia możliwość automatycznego resetu hasła. Użytkownik otrzymuje na swoją skrzynkę link z unikalnym tokenem (który w jakiś sposób go identyfikuje). Klikając w link webowy interfejs poczty użytkownika staje się refererem dla strony ze zmianą hasła. Natomiast, jeśli na takiej stronie są wykorzystywane inne zasoby serwowane z poziomu CDN lub systemów do analityki – to link z resetem hasła staje się refererem dla właśnie tych assetów. Jak zauważa autor ryzyko eksploracji takiej podatności jest nikłe, ponieważ wraz z pierwszym użyciem tokenu zostaje on unieważniony; atakujący nie może kontrolować do jakiego zasobu wycieknie token skoro użytkownik może używać np. uBlock do blokady różnego rodzaju skryptów; jeśli dochodzi do wycieku tokenu to raczej do “zaufanego” partnera. W prawdzie istnieje polityka zachowania linku, ale wsparcie dla tej specyfikacji nie jest jeszcze powszechne i nie powinno być traktowane jako wyłączne rozwiązanie tego typu problemu. Polecam lekturę, jak z tym problemem poradził sobie autor. I najważniejsze, aby pamiętać – nie tylko w co klikamy, ale także skąd.
Więcej informacji: Target=”_blank” — the most underestimated vulnerability ever