Skrytý cíl může použít existující relaci a oprávnění uživatele. Clickjacking zneužívá vztah mezi vizuální prezentací, framingem a záměrem uživatele; nevyžaduje provádění skriptů v cílové aplikaci.
Mnoho webových případů spoléhá na vložení citlivé stránky do průhledného či maskovaného rámce. Aplikace by měly deklarovat, které originy — pokud vůbec — smí každou odpověď rámcovat, a navrhovat akce s vysokými důsledky tak, aby jediná špatně nasměrovaná interakce nestačila.
Klíčové body
Politika framinguDodávejte hlavičku odpovědi Content Security Policy (CSP) s direktivou frame-ancestors k odepření framingu či povolení pouze požadovaných originů a uplatněte hlavičku X-Frame-Options tam, kde je potřeba kompatibilita se staršími systémy.
Citlivé interakceVyžadujte jasný kontext, aktuální autorizaci, záměrné potvrzení či reautentizaci pro změny s vysokým dopadem a vyhýbejte se ovládacím prvkům, jejichž význam je skrytý či se neočekávaně mění.
Kontroly nasazeníUplatňujte politiku na každou citlivou odpověď, testujte zamýšlené i nezamýšlené vkládání napříč podporovanými prohlížeči, zohledněte vnořené rámce a důvěryhodné partnery a monitorujte regrese konfigurace.
Důležité omezeníKontroly framingu řeší útoky založené na rámcích, nikoli každou formu klamavého rozhraní. Široké allowlisty, kompromitované povolené originy, rozdíly prohlížečů či akce nevyžadující autentizaci mohou zanechat zneužitelné cesty.