Iframe Traps

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne informacije

Ovaj oblik zloupotrebe XSS-a kroz iframe-ove radi krađe informacija dok se korisnik kreće po web stranici prvobitno je objavljen u ova dva posta na trustedsec.com: here i here.

Napad počinje na stranici ranjivoj na XSS gde je moguće naterati žrtve da ne napuste XSS tako što će ih naterati da navigiraju unutar iframe-a koji zauzima celu web aplikaciju.

XSS exploit će u osnovi učitati web stranicu u iframe koji zauzima 100% ekrana. Dakle, žrtva neće primetiti da je u iframe-u. Ako zatim žrtva navigira po stranici klikom na linkove unutar iframe-a (unutar weba), biće u navigaciji unutar iframe-a dok učitani arbitrarni JS krade informacije o toj navigaciji.

Da bi izgledalo realističnije, moguće je koristiti neke listeners da se detektuje kada iframe promeni lokaciju stranice i ažurirati URL u browseru sa tim lokacijama, tako da korisnik misli da se premešta po stranicama koristeći browser.

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

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

Takođe, moguće je koristiti listeners za krađu osetljivih informacija — ne samo drugih stranica koje žrtva posećuje, već i podataka unetih u popunjene forme i njihovo slanje (npr. kredencijali) ili za krađu local storage-a

Naravno, glavna ograničenja su da će se žrtva zatvaranjem taba ili unošenjem drugog URL-a u browseru izvući iz iframe-a. Drugi način da se to uradi je osvežavanje stranice, međutim to se može delimično sprečiti onemogućavanjem kontekst menija desnog klika svaki put kad se nova stranica učita unutar iframe-a ili detektovanjem kada miš korisnika napusti iframe (potencijalno da klikne dugme za reload u browseru) — u tom slučaju URL u browseru se ažurira originalnim URL-om koji je ranjiv na XSS, tako da ako korisnik ponovo učita stranicu, biće ponovo inficirana (napomena: ovo nije naročito stealth).

Modernizovana zamka (2024+)

  • Koristite full‑viewport iframe i History/Navigation API da imitujete realnu navigaciju.
Full-viewport iframe trap ```html ```
  • Navigation API (navigation.navigate, currententrychange) drži spoljašnju URL traku sinhronizovanom bez leak-a stvarnog URL-a.
  • Go fullscreen da sakriješ browser UI i nacrtaš sopstvenu lažnu adresnu traku/ikonu lokota.

Overlay & skimmer usage

  • Kompromitovani trgovci zamenjuju hosted payment iframes (Stripe, Adyen, etc.) sa pixel‑perfect overlay koji prosleđuje pritiske tastera dok pravi frame ostaje ispod, ponekad koristeći legacy validation APIs kako flow nikada ne bi pukao.
  • Zatvaranje korisnika u top frame hvata autofill/password‑manager podatke pre nego što primete da se URL traka nije promenila.

Evasion tricks observed in 2025 research

  • about:blank/data: local frames nasleđuju parent origin i zaobilaze neke heuristike content‑blockera; ugnježdeni iframes mogu se respawn-ovati čak i kada extensions uklone third‑party frames.
  • Permission propagation: prepisivanje parent allow atributa dodeljuje ugnježdenim attacker frames fullscreen/camera/microphone bez očiglednih DOM promena.

Quick OPSEC tips

  • Ponovo fokusiraj iframe kada miš izađe (mouseleave on body) da sprečiš korisnike da dođu do browser UI.
  • Onemogući context menu i uobičajene prečice (keydown for F11, Ctrl+L, Ctrl+T) unutar frame-a da usporiš pokušaje bekstva.
  • Ako CSP blokira inline skripte, injektuj remote bootstrapper i omogući srcdoc na iframe-u tako da tvoj payload živi van enforced CSP glavne stranice.

Povezano

Clickjacking

Reference

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks