Questão nº 56
Questão de Tecnologia da Informação · FGV TCE-TO 2022 (nº 56)
Um analista de TI descobriu que teve sua conta comprometida a partir de um código javascript malicioso num site que está habituado a acessar. Ao analisar a página acessada, identificou que existia uma vulnerabilidade que permitia que tags HTML fossem incorporadas na seção de comentários da página, de maneira permanente.
O ataque sofrido na página foi:
- ACross-Site Scripting (XSS) refletido;
- BCross-Site Scripting (XSS) persistente; (alternativa correta)
- CSQL Injection;
- DLDAP Injection;
- EDecoy.
Resposta comentada
Gabarito Alternativa B
XSS persistente (ou armazenado) acontece quando o código malicioso fica gravado no servidor (ex.: num comentário, perfil ou post) e é executado toda vez que qualquer usuário carrega a página. O atacante não precisa enganar a vítima com um link especial; basta que ela visite a página contaminada.
- (A) Incorreta: No XSS refletido, o código malicioso não fica gravado no site; ele é "refletido" de volta ao usuário na mesma resposta HTTP, geralmente via URL ou campo de busca, e depende de a vítima clicar num link malicioso.
- (B) Correta: O enunciado diz que as tags HTML foram incorporadas de maneira permanente na seção de comentários — isso é a definição clássica de XSS persistente (ou armazenado), pois o payload fica salvo no servidor e é executado para todos os visitantes da página.
- (C) Incorreta: SQL Injection explora falhas em consultas a bancos de dados, manipulando comandos SQL, não envolve injeção de tags HTML ou JavaScript na página.
- (D) Incorreta: LDAP Injection explora consultas a diretórios LDAP (autenticação/consulta de usuários), não é um vetor para injetar scripts em comentários de páginas web.
- (E) Incorreta: Decoy (isca) é uma técnica de engenharia social ou de defesa (honeypot) para desviar a atenção, não é um tipo de ataque de injeção de código.
Armadilha da banca: O distrator mais tentador é a letra A (XSS refletido), pois muitos alunos lembram que XSS envolve JavaScript malicioso e esquecem a diferença crucial: refletido = não fica gravado (executa uma vez, via link); persistente = fica armazenado no servidor (como no comentário permanente do enunciado). A palavra "permanente" é a chave que elimina a letra A.
Fonte: FGV TCE-TO 2022 Auditor de Controle Externo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.