Iframe Traps
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundlegende Informationen
This form of abusing XSS via iframes to steal information from the user moving across the web page was originally published in these 2 post from trustedsec.com: here und here.
Der Angriff beginnt auf einer Seite, die für XSS verwundbar ist, bei der es möglich ist, die Opfer daran zu hindern, die XSS zu verlassen, indem man sie innerhalb eines iframe navigieren lässt, der die gesamte Webanwendung einnimmt.
Der XSS-Angriff lädt im Grunde die Webseite in einem iframe, das 100% des Bildschirms einnimmt. Daher wird das Opfer nicht bemerken, dass es sich in einem iframe befindet. Wenn das Opfer auf der Seite durch Anklicken von Links innerhalb des iframe (innerhalb der Webanwendung) navigiert, bewegt es sich innerhalb des iframe, während das eingebettete beliebige JS Informationen aus dieser Navigation stiehlt.
Außerdem, um es realistischer zu machen, ist es möglich, einige listeners zu verwenden, um zu prüfen, wann ein iframe die Location der Seite ändert, und die URL des Browsers mit diesen Locations zu aktualisieren, sodass der Benutzer glaubt, er navigiere die Seiten im Browser.
.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
Außerdem können listener verwendet werden, um sensible Informationen zu stehlen — nicht nur die anderen Seiten, die das Opfer besucht, sondern auch die Daten aus ausgefüllten Formularen, diese zu senden (credentials?) oder den local storage zu stehlen…
Natürlich bestehen die Hauptbegrenzungen darin, dass ein Opfer durch Schließen des Tabs oder Eingabe einer anderen URL im Browser dem iframe entkommt. Eine andere Möglichkeit wäre, die Seite neu zu laden, dies kann jedoch teilweise verhindert werden, indem man beim Laden jeder neuen Seite im iframe das Kontextmenü (Rechtsklick) deaktiviert oder erkennt, wenn die Maus des Nutzers das iframe verlässt — etwa um den Reload-Button des Browsers zu klicken. In diesem Fall wird die URL des Browsers auf die ursprüngliche, für XSS verwundbare URL zurückgesetzt, sodass beim Neuladen die Seite erneut manipuliert wird (Hinweis: das ist nicht sehr unauffällig).
Modernisierte Falle (2024+)
- Verwende ein full‑viewport iframe plus History/Navigation API, um echte Navigation zu simulieren.
Full-viewport iframe trap
```html ```- Navigation API (
navigation.navigate,currententrychange) hält die äußere Adressleiste synchron, ohne die echte URL zu leak. - Gehe in fullscreen, um die Browser‑UI zu verbergen und eine eigene gefälschte Adressleiste/Schloss‑Icon zu zeichnen.
Overlay & skimmer usage
- Kompromittierte Händler ersetzen gehostete payment iframes (Stripe, Adyen, etc.) durch ein pixel‑perfect overlay, das Tastenanschläge weiterleitet, während der echte Frame darunter bleibt — manchmal unter Verwendung von legacy validation APIs, damit der Flow nie bricht.
- Nutzer im top frame zu fangen erfasst autofill/password‑manager‑Daten, bevor sie bemerken, dass sich die URL‑Leiste nie geändert hat.
Evasion tricks observed in 2025 research
about:blank/data:lokale Frames erben die parent origin und umgehen einige content‑blocker‑Heuristiken; verschachtelte iframes können respawnen, selbst wenn Extensions third‑party frames entfernen.- Permission propagation: Durch Umschreiben des parent
allow‑Attributes erhalten verschachtelte attacker frames fullscreen/camera/microphone ohne offensichtliche DOM‑Änderungen.
Quick OPSEC tips
- Re‑fokussiere das iframe, wenn die Maus die Seite verlässt (
mouseleaveon body), um zu verhindern, dass Benutzer die Browser‑UI erreichen. - Deaktiviere das Kontextmenü und gängige Shortcuts (
keydownfürF11,Ctrl+L,Ctrl+T) im Frame, um Fluchtversuche zu verlangsamen. - Falls CSP inline Scripts blockiert, injiziere einen remote bootstrapper und aktiviere
srcdocam iframe, sodass dein Payload außerhalb der durchgesetzten CSP der Hauptseite lebt.
Related
References
- Iframe security exposed: blind spot fueling payment skimmer attacks (2025)
- Local Frames: exploiting inherited origins to bypass blockers (2025)
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


