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

Basic Information

Diese Form, XSS ĂŒber iframes auszunutzen, um Informationen vom Benutzer zu stehlen, wĂ€hrend er sich auf der Webseite bewegt, wurde ursprĂŒnglich in diesen zwei BeitrĂ€gen von trustedsec.com veröffentlicht: here und here.

Der Angriff beginnt auf einer Seite, die fĂŒr XSS verwundbar ist, bei der es möglich ist, dafĂŒr zu sorgen, dass die Opfer die XSS-Seite nicht verlassen, indem man sie innerhalb eines iframe navigieren lĂ€sst, das die gesamte Webanwendung einnimmt.

Der XSS-Angriff lĂ€dt im Grunde die Webseite in ein iframe, das 100% des Bildschirms einnimmt. Daher wird das Opfer won’t notice he is inside an iframe. Wenn das Opfer dann auf Links innerhalb des iframe (innerhalb der Webanwendung) klickt und sich auf der Seite bewegt, wird es navigating inside the iframe und das eingebettete beliebige JS stiehlt Informationen aus dieser Navigation.

Außerdem kann man, um es realistischer erscheinen zu lassen, einige listeners 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 denkt, er bewege sich mit dem Browser zwischen Seiten.

https://www.trustedsec.com/wp-content/uploads/2022/04/regEvents.png

https://www.trustedsec.com/wp-content/uploads/2022/04/fakeAddress-1.png

Außerdem lassen sich mit listeners nicht nur die anderen Seiten, die das Opfer besucht, auslesen, sondern auch die Daten aus filled forms erfassen und absenden (Credentials?), oder steal the local storage


NatĂŒrlich sind die HauptbeschrĂ€nkungen, dass ein victim closing the tab or putting another URL in the browser will escape the iframe. Ein weiterer Weg, dem zu entkommen, wĂ€re die refresh the page, dies könnte jedoch teilweise prevented werden, indem bei jedem Laden einer neuen Seite im iframe das Rechtsklick-KontextmenĂŒ deaktiviert wird oder bemerkt wird, wenn die Maus des Nutzers das iframe verlĂ€sst, möglicherweise um auf den Reload-Button des Browsers zu klicken — in diesem Fall wird die URL des Browsers wieder auf die ursprĂŒngliche, fĂŒr XSS verwundbare URL gesetzt, sodass bei einem Reload die Seite erneut kompromittiert wird (beachte, dass das nicht sehr stealth ist).

Modernised trap (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 URL‑Leiste synchron, ohne die echte URL zu leak.
  • Gehe in fullscreen, um die Browser‑UI zu verbergen und eine eigene gefĂ€lschte Adressleiste/Schlosssymbol zu zeichnen.

Overlay & skimmer Verwendung

  • Kompromittierte HĂ€ndler ersetzen gehostete payment iframes (Stripe, Adyen, etc.) durch ein pixel‑perfect overlay, das TastenanschlĂ€ge weiterleitet, wĂ€hrend das echte Frame darunter bleibt. Manchmal werden legacy validation APIs verwendet, damit der Ablauf nie unterbrochen wird.
  • Das Einsperren von Nutzern im Top‑Frame 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: local frames erben die Parent‑Origin und umgehen einige Content‑Blocker‑Heuristiken; verschachtelte iframes können nachgeladen werden, selbst wenn Extensions Third‑party‑Frames entfernen.
  • Permission propagation: Durch Umschreiben des Parent‑allow‑Attributs erhalten verschachtelte Angreifer‑Frames fullscreen/camera/microphone ohne offensichtliche DOM‑Änderungen.

Schnelle OPSEC‑Tipps

  • Fokussiere das iframe neu, wenn die Maus die Seite verlĂ€sst (mouseleave auf body), um zu verhindern, dass Nutzer die Browser‑UI erreichen.
  • Deaktiviere KontextmenĂŒ und gĂ€ngige Shortcuts (keydown fĂŒr F11, Ctrl+L, Ctrl+T) innerhalb des Frames, um Fluchtversuche zu verlangsamen.
  • Wenn CSP Inline‑Skripte blockiert, injiziere einen remote Bootstrapper und aktiviere srcdoc am iframe, sodass dein Payload außerhalb der durchgesetzten CSP der Hauptseite lebt.

Clickjacking

References

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