Weaknesses of type CWE-180

22 results

Validação antes da canonicalização

A fraqueza ocorre quando o código valida entrada usando uma forma não-canônica, mas processa a mesma entrada em forma canônica depois. Um atacante pode contornar a validação usando representações alternativas (como `../` vs `..\ ` ou encoded characters) que passam na checagem inicial mas se transformam em payloads perigosos após normalização.

Example

Um WAF valida uma URL procurando por `../../../etc/passwd`, a bloqueia, mas o servidor depois decodifica `..%2f..%2f..%2fetc%2fpasswd` (que passou na validação) e executa o path traversal. Ou uma checagem rejeita `<script>` mas aceita `<ScRiPt>`, que é canonicalizado para minúsculas no parser HTML e executa.

How to mitigate

Canonicalize (normalize) a entrada ANTES de validar, não depois. Aplique decoding, lowercase, remoção de espaços e resolução de paths antes de qualquer checagem de segurança. Use whitelist rigorosa de caracteres permitidos após normalização completa.