Iframe Traps
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
Informations de base
Cette forme d’abus de XSS via des iframes pour voler des informations lorsque l’utilisateur se déplace sur la page web a été initialement publiée dans ces 2 posts de trustedsec.com : here and here.
L’attaque commence sur une page vulnérable à un XSS où il est possible de faire en sorte que les victims ne quittent pas le XSS en les faisant naviguer à l’intérieur d’un iframe qui occupe toute l’application web.
L’attaque XSS charge essentiellement la page web dans un iframe occupant 100% de l’écran. Par conséquent, la victime ne remarquera pas qu’elle est dans un iframe. Ensuite, si la victime navigue sur la page en cliquant sur des liens à l’intérieur de l’iframe (dans le web), elle sera en train de naviguer à l’intérieur de l’iframe avec le JS arbitraire chargé qui vole des informations de cette navigation.
De plus, pour rendre cela plus réaliste, il est possible d’utiliser des listeners pour détecter quand un iframe modifie la propriété location de la page, et mettre à jour l’URL du navigateur avec ces emplacements afin que l’utilisateur pense qu’il navigue réellement dans le navigateur.
.png)
https://www.trustedsec.com/wp-content/uploads/2022/04/regEvents.png
.png)
https://www.trustedsec.com/wp-content/uploads/2022/04/fakeAddress-1.png
De plus, il est possible d’utiliser des listeners pour voler des informations sensibles, non seulement les autres pages que la victime visite, mais aussi les données utilisées pour remplir des formulaires et les envoyer (identifiants ?) ou pour voler le local storage…
Bien sûr, les principales limitations sont qu’une victime qui ferme l’onglet ou met une autre URL dans le navigateur sortira de l’iframe. Une autre façon d’y échapper serait de rafraîchir la page, cependant cela peut être partiellement empêché en désactivant le menu contextuel du clic droit à chaque chargement d’une nouvelle page dans l’iframe ou en détectant lorsque la souris de l’utilisateur quitte l’iframe, potentiellement pour cliquer sur le bouton de rechargement du navigateur ; dans ce cas l’URL du navigateur est mise à jour avec l’URL d’origine vulnérable au XSS, donc si l’utilisateur la recharge, elle sera à nouveau empoisonnée (à noter que ce n’est pas très discret).
Piège modernisé (2024+)
- Utiliser un full‑viewport iframe plus History/Navigation API pour imiter une navigation réelle.
Piège iframe plein écran
```html ```- Navigation API (
navigation.navigate,currententrychange) garde la barre d’URL externe synchronisée without leaking the real URL. - Passez en fullscreen pour masquer l’interface du navigateur et dessiner votre propre fausse barre d’adresse / cadenas.
Overlay & skimmer usage
- Des merchants compromis remplacent les hosted payment iframes (Stripe, Adyen, etc.) par une pixel‑perfect overlay qui transmet les frappes clavier pendant que la frame réelle reste en dessous, utilisant parfois des legacy validation APIs pour que le flow ne se casse jamais.
- Piéger les utilisateurs dans le top frame capture les données autofill/password‑manager avant qu’ils ne remarquent que la barre d’URL n’a jamais changé.
Evasion tricks observed in 2025 research
about:blank/data:local frames héritent de l’origine du parent et contournent certaines heuristiques des content‑blockers ; des iframes imbriqués peuvent respawn même quand les extensions détruisent les frames third‑party.- Permission propagation : réécrire l’attribut parent
allowaccorde aux frames attaquantes imbriquées fullscreen/camera/microphone sans changements DOM évidents.
Quick OPSEC tips
- Remettez le focus sur l’iframe quand la souris sort (
mouseleavesur body) pour empêcher les utilisateurs d’atteindre l’UI du navigateur. - Désactivez le menu contextuel et les raccourcis courants (
keydownpourF11,Ctrl+L,Ctrl+T) à l’intérieur du frame pour ralentir les tentatives d’évasion. - Si CSP bloque les scripts inline, injectez un remote bootstrapper et activez
srcdocsur l’iframe pour que votre payload vive en dehors du CSP appliqué à la page principale.
Related
References
- Iframe security exposed: blind spot fueling payment skimmer attacks (2025)
- Local Frames: exploiting inherited origins to bypass blockers (2025)
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.


