Iframe Traps
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Informações Básicas
Esta forma de abusar de XSS via iframes para roubar informações do usuário enquanto ele navega pela página web foi originalmente publicada nesses 2 posts do trustedsec.com: here and here.
O ataque começa em uma página vulnerável a XSS onde é possível fazer as vítimas não saírem do XSS tornando-as navegar dentro de um iframe que ocupa toda a aplicação web.
O ataque XSS basicamente carregará a página web dentro de um iframe ocupando 100% da tela. Portanto, a vítima não perceberá que está dentro de um iframe. Então, se a vítima navegar na página clicando em links dentro do iframe (dentro do site), ela estará navegando dentro do iframe com o JS arbitrário carregado, roubando informações dessa navegação.
Além disso, para tornar mais realista, é possível usar alguns listeners para verificar quando um iframe muda a localização da página, e atualizar a URL do navegador com essas localizações — fazendo o usuário pensar que está mudando de página usando o navegador.
.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
Além disso, é possível usar listeners para roubar informações sensíveis, não apenas as outras páginas que a vítima está visitando, mas também os dados usados para preencher formulários e enviá-los (credenciais?) ou para roubar o local storage…
Obviamente, as principais limitações são que uma vítima fechando a aba ou colocando outra URL no navegador escapará do iframe. Outra forma de escapar seria atualizar a página, contudo, isso pode ser parcialmente prevenido desabilitando o menu de contexto do clique direito toda vez que uma nova página é carregada dentro do iframe ou detectando quando o mouse do usuário sai do iframe, possivelmente para clicar no botão de recarregar do navegador — nesse caso a URL do navegador é atualizada com a URL original vulnerável a XSS, então se o usuário recarregá-la, ela será contaminada novamente (observe que isso não é muito furtivo).
Armadilha modernizada (2024+)
- Use um full‑viewport iframe mais History/Navigation API para imitar navegação real.
Armadilha de full-viewport iframe
```html ```- Navigation API (
navigation.navigate,currententrychange) mantém a barra de URL externa sincronizada sem leaking da URL real. - Vá fullscreen para ocultar a UI do navegador e desenhar sua própria barra de endereço/cadeado falsa.
Uso de overlay & skimmer
- Comerciantes comprometidos substituem hosted payment iframes (Stripe, Adyen, etc.) por um pixel‑perfect overlay que encaminha as teclas enquanto o frame real fica por baixo, às vezes usando legacy validation APIs para que o fluxo nunca quebre.
- Aprisionar usuários no top frame captura dados de autofill/password‑manager antes que notem que a barra de URL nunca mudou.
Truques de evasão observados em pesquisas de 2025
about:blank/data:local frames herdam a origem do pai e contornam algumas heurísticas de bloqueadores de conteúdo; iframes aninhados podem ressurgir mesmo quando extensões desmontam frames de terceiros.- Permission propagation: reescrever o atributo pai
allowconcede a frames aninhados do atacante fullscreen/camera/microphone sem mudanças óbvias no DOM.
Dicas rápidas de OPSEC
- Restabeleça o foco no iframe quando o mouse sair (
mouseleaveno body) para impedir que os usuários alcancem a UI do navegador. - Desative o menu de contexto e atalhos comuns (
keydownparaF11,Ctrl+L,Ctrl+T) dentro do frame para retardar tentativas de escape. - Se CSP bloquear scripts inline, injete um bootstrapper remoto e habilite
srcdocno iframe para que seu payload viva fora do CSP aplicado da página principal.
Related
Referências
- Iframe security exposed: blind spot fueling payment skimmer attacks (2025)
- Local Frames: exploiting inherited origins to bypass blockers (2025)
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.


