Framekiller
Un framekiller (aussi appelĂ© framebuster ou framebreaker) est une technique utilisĂ©e par les sites et applications Web pour empĂȘcher l'affichage de leur contenu dans une frame HTML, qui est une subdivision d'une fenĂȘtre de navigateur Web et peut prendre la forme d'une fenĂȘtre de plus petite taille. Le rĂŽle d'un framekiller est d'empĂȘcher le chargement de contenu Web Ă des fins d'attaque, par exemple par clickjacking.
Implémentations
Les framekillers sont gĂ©nĂ©ralement implĂ©mentĂ©s via JavaScript. L'approche recommandĂ©e est de bloquer par dĂ©faut le rendu de la fenĂȘtre puis de ne la dĂ©bloquer qu'aprĂšs avoir confirmĂ© que la fenĂȘtre actuelle est bien la fenĂȘtre principale (et non une frame), par exemple avec ce script:
<style>html{display:none;}</style>
<script>
if (self == top) {
document.documentElement.style.display = 'block';
} else {
top.location = self.location;
}
</script>
Ce type d'approche a été proposé en 2010 par Gustav Rydstedt, Elie Bursztein, Dan Boneh et Collin Jackson dans une publication qui soulignait les limites des techniques de framebusting alors employées par les 500 sites recensant le plus de trafic selon Alexa[1].
Références
- G. Rydstedt, E. Bursztein, D. Boneh et C. Jackson « Busting Frame Busting: a Study of Clickjacking Vulnerabilities on Popular sites » () (lire en ligne)
â « (ibid.) », dans 3rd Web 2.0 Security and Privacy workshop, IEEE