Jak przekonać użytkownika do…

Jak przekonać użytkownika do usunięcia swojego konta w serwisie internetowym bez jego zgody?
W dzisiejszym odcinku #od0dopentestera o ataku Clickjacking.

Podczas potwierdzania usunięcia konta zazwyczaj do serwera wysyłany jest specjalny token.
Dzięki niemu wiadomo, że to użytkownik użył odpowiedniego przycisku.
Osoba z zewnętrz nie jest w stanie przygotować wcześniej formularza usunięcia konta z prawidłowym tokenem a następnie podłożyć go nam do kliknięcia.
Nie zna bowiem prawidłowej wartości oczekiwanej przez serwer – tak działa mechanizm CSRF (Cross-site request forgery).

HTML pozwala na osadzanie we wnętrzu naszej strony zewnętrznych witryn.
Można tego dokonać przy pomocy tagu IFRAME.
W parametrze src podajemy adres, którego treść ma się u nas pojawić.
Możemy dowolnie modyfikować wielkość osadzonej ramki a także zmieniać jej położenie względem naszej strony

Używając narzędzia Burp Clickbandit możemy spreparować ramkę wyświetlaną na naszej stronie w taki sposób, aby nie była widoczna dla użytkownika.
Jednocześnie – w miejscu przycisku „Usuń konto” pozycjonujemy inną grafikę – na przykład z informacją o wygraniu w loterii.
Teraz wystarczy już tylko przekonać zalogowanego użytkownika do odwiedzenia naszej strony i kliknięcia w interesującą grafikę.

Atakowany, myśli że klika w nią aby odebrać jakąś nagrodę – a tak naprawdę wysyła formularz usunięcia konta na innym serwisie internetowym.
Pod tą grafiką bowiem znajdował się przycisk, wyświetlany poprzez mechanizm iframe.
Użytkownik klikając w grafikę tak naprawdę klikał zatem w ten guzik wysyłając tym samym odpowiedni token do serwera.

Jak obronić się przed tym atakiem?
Jeżeli nie chcesz aby Twoja strona była osadzana przy użyciu mechanizmu ramek – dodaj do niej specjalny nagłówek X-Frame-Options: DENY.

Jeżeli chcesz być wołany dodaj się do Mirkolisty.
Masz pytanie na temat bezpieczeństwa? Zadaj je na grupie od 0 do pentestera na Facebooku.

#security #bezpieczenstwo #programowanie #informatyka #it #nauka #technologia #ciekawostki #hacking #java #gruparatowaniapoziomu

Comments are closed.