Questão de Segurança da Informação — Práticas de Segurança e Ameaças em Programação — CESPE / CEBRASPE 2024
Segurança da Informação›Práticas de Segurança e Ameaças em Programação
Código
ce404070
Banca
CESPE / CEBRASPE
Órgão
BACEN
Ano
2024
Cargo
Ana ( )
Em relação aos principais tipos de ataques a aplicações web e a sua prevenção, julgue o seguinte item.
XSS (Cross-site scripting) é um tipo de ataque por meio do qual o atacante explora erros nos códigos de entrada de dados, e a prevenção de ataques XSS requer sanitização das entradas de dados, de maneira a impedir a injeção de códigos maliciosos.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Cross-Site Scripting (XSS): conceito e prevenção
✅ CERTO. A afirmação está correta: o XSS é um ataque que explora falhas na validação das entradas de dados de uma aplicação web, e a prevenção envolve, entre outras medidas, a sanitização dessas entradas para impedir a injeção de código malicioso. Essa é a definição clássica do ataque, amplamente documentada pelo OWASP e pela literatura de segurança da informação.
O XSS (Cross-Site Scripting) é uma vulnerabilidade de segurança em aplicações web que permite a um atacante injetar scripts maliciosos (geralmente JavaScript) em páginas visualizadas por outros usuários. O nome original, "Cross-Site", vem do fato de que, nos primeiros ataques, o objetivo era roubar dados de um site para usar em outro (cross-site). Hoje, o termo abrange qualquer injeção de conteúdo malicioso em uma página web.
O ataque ocorre quando a aplicação não valida ou não sanitiza adequadamente os dados fornecidos pelo usuário. Esses dados são então incorporados ao HTML da página e interpretados como código pelo navegador da vítima. Por exemplo, um atacante pode inserir um script em um campo de comentário de um fórum; quando outro usuário visualiza o comentário, o script é executado no navegador dele, podendo roubar cookies de sessão, redirecionar para sites maliciosos ou capturar informações digitadas.
Existem três tipos principais de XSS:
XSS Persistente (ou armazenado): o código malicioso é armazenado no servidor (por exemplo, em um banco de dados) e executado sempre que a página é acessada.
XSS Refletido (ou não persistente): o código malicioso é incluído na URL ou em parâmetros de formulário e refletido na resposta HTTP, sem ser armazenado.
XSS baseado em DOM: o ataque ocorre diretamente no Document Object Model (DOM) do navegador, sem que o servidor processe o código malicioso.
A prevenção do XSS envolve uma combinação de técnicas, conforme recomenda o OWASP (Open Web Application Security Project). A principal delas é a sanitização das entradas de dados, que consiste em validar, filtrar e codificar os dados fornecidos pelo usuário antes de exibi-los na página. Isso impede que caracteres especiais, como <, >, &, sejam interpretados como código HTML ou JavaScript. Além disso, a codificação de saída (output encoding) é essencial: os dados devem ser exibidos como texto, não como código. Frameworks modernos, como React e Angular, oferecem mecanismos de escape automático, mas é preciso conhecer suas limitações e usar corretamente as funções de sanitização.
A banca explora aqui um conceito central: a relação entre a vulnerabilidade (falta de validação de entrada) e a medida preventiva (sanitização). A afirmação está em conformidade com o que é ensinado nos principais guias de segurança, como o OWASP Top 10 e o Cheat Sheet de Prevenção de XSS.
XSS (Cross-Site Scripting)
1Conceito
Injeção de script malicioso
Execução no navegador da vítima
2Tipos
Persistente (armazenado no servidor)
Refletido (na URL/parâmetros)
Baseado em DOM (no navegador)
3Prevenção
Sanitização das entradas
Codificação de saída
Escape automático (frameworks)
LEVEL · soulevel.com.br
NÃO CAIA NESSA!
Para fixar, lembre-se da tríade do XSS: entrada não validada → código injetado → execução no navegador da vítima. Na prova, quando a questão falar em "sanitização de entradas" ou "validação de dados", associe imediatamente à prevenção de injeção de código, seja XSS, SQL Injection ou Command Injection. E cuidado: não confunda XSS com SQL Injection — o XSS ataca o navegador do usuário, enquanto o SQL Injection ataca o banco de dados da aplicação.