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

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.

https://www.trustedsec.com/wp-content/uploads/2022/04/regEvents.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.
  • 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 allow concede 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 (mouseleave no body) para impedir que os usuários alcancem a UI do navegador.
  • Desative o menu de contexto e atalhos comuns (keydown para F11, Ctrl+L, Ctrl+T) dentro do frame para retardar tentativas de escape.
  • Se CSP bloquear scripts inline, injete um bootstrapper remoto e habilite srcdoc no iframe para que seu payload viva fora do CSP aplicado da página principal.

Clickjacking

Referências

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