ANÚNCIO

~/questoes/ciberseguranca

Qual é uma defesa efetiva contra ataques XSS?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Para fixar

Defesa contra XSS: Content Security Policy

Conceito central

Content Security Policy (CSP) é um mecanismo de segurança que funciona como um guarda-vidas do seu navegador, controlando quais scripts têm permissão para executar em uma página. Ela previne ataques XSS ao bloquear scripts injetados maliciosamente e só permitir código de fontes confiáveis.

Por que essa resposta faz sentido

A implementação de Content Security Policy cria uma barreira que restringe a execução de scripts apenas aos originários de fontes aprovadas. Isso neutraliza ataques XSS porque, mesmo que um invasor consiga injetar código malicioso na página, a CSP impedirá sua execução.

Armadilhas comuns

  • Confundir CSP com validação de entrada — CSP é uma defesa no navegador, enquanto validação ocorre no servidor; ambas são complementares e necessárias.
  • Achar que CSP resolve todos os problemas de segurança — ela protege especificamente contra XSS, mas vulnerabilidades como SQL injection exigem outras defesas.
  • Pensar que desabilitar funcionalidades é mais seguro que implementar controles — na realidade, boas práticas de programação segura mantêm funcionalidade e proteção juntas.

Entenda as alternativas

A

Armazenar senhas em texto plano é uma prática extremamente perigosa que deixa dados sensíveis expostos. Não apenas não defenderia contra XSS, como criaria uma vulnerabilidade gravíssima de vazamento de credenciais.

B

Content Security Policy é exatamente o mecanismo certo para defender contra XSS. Ela funciona através de headers HTTP que informam ao navegador quais scripts podem rodar, bloqueando injeções maliciosas de forma eficiente.

C

HTTP sem criptografia é mais inseguro que HTTPS, não menos. Usar apenas HTTP aumenta a vulnerabilidade a interceptação de dados e não tem relação com prevenção de XSS.

D

Desabilitar formulários eliminaria uma funcionalidade essencial da aplicação. A solução não é remover formulários, mas validar e sanitizar corretamente os dados que entram por eles.

Dica prática: Para implementar CSP, adicione um header HTTP como `Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn-confiavel.com;`. Isso diz ao navegador: 'Só execute scripts que vêm de mim ou dessa CDN confiável'. Qualquer script injetado de outra fonte será bloqueado automaticamente.

Revise pensando: Se um site usa CSP configurada corretamente, mas ainda recebe um formulário com dados não validados, o XSS seria bloqueado na página do usuário ou no servidor? Por quê?