Falhas do tipo CWE-180

22 resultados

Validação antes da canonicalização

Ocorre quando o código valida dados de entrada antes de normalizá-los para sua forma canônica. O atacante contorna a validação usando representações alternativas (codificações, espaços, barras extras) que passam na verificação, mas depois são processadas de forma diferente. A ordem correta é normalizar primeiro, depois validar.

Exemplo

Um WAF valida a URL '/admin/users' como proibida, mas deixa passar '//admin/users' ou '/admin/../admin/users' porque a barra dupla ou o .. ainda não foram normalizados. O servidor canonicaliza e acessa '/admin/users' mesmo assim, contornando a proteção.

Como mitigar

Sempre canonicalize (normalize, decodifique, expanda) a entrada antes de qualquer validação. Valide apenas a forma final que o sistema realmente processará. Use funções de normalização da linguagem ou framework (ex: realpath() em PHP, normalize() em Java) e nunca confie em validação prévia.