Iframe Traps
Basic Information
Esta forma de abusar do XSS via iframes para roubar informações do usuário que navega pela página da web foi publicada originalmente nestes 2 posts do trustedsec.com: aqui e aqui.
O ataque começa em uma página vulnerável a um XSS onde é possível fazer com que as vítimas não deixem o XSS fazendo com que elas naveguem dentro de um iframe que ocupa toda a aplicação web.
O ataque XSS basicamente carregará a página da web em um iframe em 100% da tela. Portanto, a vítima não notará que está dentro de um iframe. Então, se a vítima navegar na página clicando em links dentro do iframe (dentro da web), ela estará navegando dentro do iframe com o JS arbitrário carregado roubando informações dessa navegação.
Além disso, para tornar isso mais realista, é possível usar alguns ouvintes para verificar quando um iframe muda a localização da página e atualizar a URL do navegador com essas localizações que o usuário pensa que está mudando de páginas usando o navegador.
Além disso, é possível usar ouvintes para roubar informações sensíveis, não apenas das 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 armazenamento local...
Claro, as principais limitações são que uma vítima fechando a aba ou colocando outra URL no navegador escapará do iframe. Outra maneira de fazer isso seria atualizar a página, no entanto, isso poderia ser parcialmente prevenido desabilitando o menu de contexto do clique direito toda vez que uma nova página é carregada dentro do iframe ou notando quando o mouse do usuário sai do iframe, potencialmente para clicar no botão de recarregar do navegador e, nesse caso, a URL do navegador é atualizada com a URL original vulnerável ao XSS, então se o usuário recarregar, ele será envenenado novamente (note que isso não é muito furtivo).
Last updated