Um invasor detecta e explora uma vulnerabilidade em um campo de formulário em uma página de uma aplicação Web e, consegue injetar um script malicioso dentro de uma postagem em uma rede social. Isso possibilita que qualquer usuário dessa rede social, ao visualizar tal postagem contaminada, tenha a sua máquina infectada pelo script malicioso, que é executado localmente. A este ataque é dado o nome de
- A)Database Injection.
Errada, porque database injection é um termo genérico e não descreve a execução de script no navegador da vítima.
- B)XSRF.
Errada, porque XSRF envolve induzir o usuário a enviar uma requisição indesejada, e não injeção de script em conteúdo exibido.
- C)XSS em DOM.
Errada, porque XSS em DOM ocorre pela manipulação do DOM no lado do cliente, sem a necessidade de o conteúdo ficar armazenado no servidor.
- D)XSS armazenado.
Certa, porque o script malicioso foi inserido em uma postagem e depois executado por qualquer usuário que a visualizar, o que caracteriza XSS armazenado.
- E)XSS refletido.
Errada, porque XSS refletido depende de uma entrada enviada e imediatamente refletida na resposta, sem persistência do conteúdo malicioso.
Gabarito: D
Aqui a ideia central é simples: o atacante coloca um script malicioso dentro de um conteúdo que fica salvo no sistema e depois é exibido para outras pessoas. Quando alguém abre a postagem contaminada, o código roda no navegador da vítima, como se fosse parte legítima da página. Isso é o clássico cenário de XSS, quando o script malicioso é inserido em conteúdo que será entregue a outros usuários. No XSS armazenado, o payload fica persistido no servidor, por exemplo em um campo de comentário, postagem ou perfil. Depois, qualquer usuário que acessar esse conteúdo recebe e executa o script. É diferente do XSS refletido, em que a execução depende de uma requisição específica e não fica guardada para depois. Na questão, o invasor injeta o script em uma postagem de rede social e várias vítimas podem ser atingidas ao visualizar o conteúdo. Esse armazenamento do conteúdo malicioso é exatamente o que caracteriza o ataque. Em provas da FGV, vale ligar o alerta quando aparecer a palavra "postagem", "comentário" ou "conteúdo salvo". Resumo de bolso: se o script fica gravado no sistema e atinge quem acessar depois, pense em XSS armazenado. Se o ataque dependesse apenas de uma resposta imediata a uma solicitação, aí seria outro cenário. Aqui, portanto, o gabarito D está correto.