đŸ–±ïžClickjacking

Basic

Exemple déconnexion d'un utilisateur:

<style>
    iframe {        //Affichage transparent de l'iframe
        position:relative;
        width:1000px;
        height: 700px;
        opacity: 0.000001;
        z-index: 2;
    }
    div {            //Position du "click here" aligné au bouton de déconnexion
        position:absolute;
        top:515px;
        left:60px;
        z-index: 1;
    }
</style>
<div>Click here</div>
<iframe src="https://target.com/profile"></iframe>

Exemple de changement de mot de passe:

Contournement de frame busters

Le clickjacking n'est possible que si la page web victime autorise son encadrement.

Un mĂ©canisme de protection utilisĂ© pour empĂȘcher cela est le frame buster. Les frame busters sont implĂ©mentĂ©s en Javascript, il valide si la fenĂȘtre actuelle est la fenĂȘtre principale. L'approche recommandĂ©e consiste Ă  bloquer le rendu de la fenĂȘtre par dĂ©faut et Ă  ne le dĂ©bloquer qu'aprĂšs avoir confirmĂ© que la fenĂȘtre actuelle est la principale :

Les techniques de contournement de cadre sont souvent spĂ©cifiques au navigateur et Ă  la plate-forme et, en raison de la flexibilitĂ© du HTML, elles peuvent gĂ©nĂ©ralement ĂȘtre contournĂ©es par les attaquants. Comme les frame busters sont en JavaScript, les paramĂštres de sĂ©curitĂ© du navigateur peuvent empĂȘcher leur fonctionnement ou mĂȘme le navigateur peut mĂȘme ne pas prendre en charge le JavaScript.

Une solution de contournement efficace contre les frame busters consiste Ă  utiliser l'attribut "sandbox" de la balise iframe HTML5. Lorsqu'il est dĂ©fini avec les valeurs "allow-forms" ou "allow-scripts" et que la valeur "allow-top-navigation" est omise, le script frame buster peut ĂȘtre neutralisĂ© car l'iframe ne peut pas vĂ©rifier s'il s'agit ou non de la fenĂȘtre supĂ©rieure.

Exemple de changement de mot de passe:

Simple Multistep (confirmation)

Mis Ă  jour