Weaknesses of type CWE-180
22 resultsValidaçã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.
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.
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.