Falhas do tipo CWE-794

5 resultados

Filtragem incompleta de múltiplas instâncias de elementos especiais

A aplicação tenta filtrar ou remover caracteres ou sequências perigosas (como tags HTML, comandos SQL, etc.), mas falha quando o padrão perigoso aparece múltiplas vezes ou está aninhado. Um atacante contorna o filtro repetindo o padrão ou usando codificação dupla, permitindo injeção de código ou command injection.

Exemplo

Um WAF remove ocorrências de '<script>' de um parâmetro, mas se o usuário envia '<scr<script>ipt>' — onde a remoção da segunda instância revela a primeira — a tag perigosa fica intacta. Ou um sistema que descodifica URL uma única vez não detecta `%252e%252e%252f` (dupla codificação de `../`).

Como mitigar

Use validação baseada em whitelist em vez de blacklist; aplique filtragem repetidamente até estabilização (ou use parsers seguros nativos); prefira bibliotecas de sanitização consolidadas (como OWASP HTML Purifier) ao invés de regex caseiro. Sempre considere múltiplas camadas e formas de encoding.