Ținta ascunsă poate folosi sesiunea și permisiunile existente ale utilizatorului. Clickjacking-ul exploatează relația dintre prezentarea vizuală, framing și intenția utilizatorului; nu cere execuție de script în aplicația țintă.
Multe cazuri web se bazează pe încorporarea unei pagini sensibile într-un frame transparent sau deghizat. Aplicațiile trebuie să declare ce origin-uri, dacă există, pot încadra fiecare răspuns și să proiecteze acțiuni cu consecințe mari astfel încât o singură interacțiune deviată să fie insuficientă.
Puncte esențiale
Politica de framingLivrați un antet de răspuns Content Security Policy (CSP) cu directiva frame-ancestors pentru a refuza framing-ul sau a permite doar origin-urile necesare și aplicați un antet de răspuns X-Frame-Options acolo unde este nevoie de compatibilitate legacy.
Interacțiuni sensibileCereți context clar, autorizare curentă, confirmare deliberată sau reautentificare pentru modificări cu impact mare și evitați controale al căror sens este ascuns sau se schimbă neașteptat.
Verificări de implementareAplicați politica fiecărui răspuns sensibil, testați încorporarea intenționată și neintenționată pe browserele suportate, țineți cont de frame-uri imbricate și parteneri de încredere și monitorizați regresiile de configurație.
Limitare importantăControalele de framing adresează atacurile bazate pe frame-uri, nu fiecare formă de interfață înșelătoare. Liste de permisiuni largi, origin-uri permise compromise, diferențe de browsere sau acțiuni care nu cer autentificare pot lăsa căi exploitabile.