Ukryty cel może używać istniejącej sesji i uprawnień użytkownika. Clickjacking wykorzystuje relację między prezentacją wizualną, osadzaniem w ramkach a intencją użytkownika; nie wymaga wykonania skryptu w docelowej aplikacji.
Wiele przypadków webowych opiera się na osadzeniu wrażliwej strony w przezroczystej lub przebranej ramce. Aplikacje powinny deklarować, które źródła — jeśli w ogóle — mogą osadzać każdą odpowiedź i projektować akcje o wysokich konsekwencjach tak, by pojedyncza błędnie skierowana interakcja nie wystarczyła.
Najważniejsze punkty
Polityka osadzaniaDostarczaj nagłówek odpowiedzi Content Security Policy (CSP) z dyrektywą frame-ancestors odrzucającą osadzanie lub pozwalającą tylko wymaganym źródłom oraz stosuj nagłówek X-Frame-Options tam, gdzie potrzebna kompatybilność z starszymi wersjami.
Wrażliwe interakcjeWymagaj jasnego kontekstu, bieżącej autoryzacji, celowego potwierdzenia lub ponownego uwierzytelnienia dla zmian o dużym wpływie oraz unikaj kontrolek, których znaczenie jest ukryte lub zmienia się niespodziewanie.
Testy wdrożenioweStosuj politykę do każdej wrażliwej odpowiedzi, testuj zamierzone i niezamierzone osadzanie we wspieranych przeglądarkach, uwzględniaj zagnieżdżone ramki i zaufanych partnerów oraz monitoruj regresje konfiguracji.
Istotne ograniczenieKontrole osadzania adresują ataki oparte na ramkach, a nie każdą formę zwodniczego interfejsu. Szerokie listy dozwolonych, skompromitowane dozwolone źródła, różnice przeglądarek lub akcje niewymagające uwierzytelnienia mogą pozostawić eksploitowalne ścieżki.