Weaknesses of type CWE-187
11 resultsComparação parcial de string
Ocorre quando o código compara apenas uma parte de uma string em vez da string completa, permitindo que valores não autorizados passem pela validação. Um atacante pode fornecer dados que começam corretamente mas contêm payload malicioso no final, burlando controles de segurança baseados em prefixos ou substrings.
Um validador verifica se a URL começa com 'https://' usando substring, mas não valida o domínio completo. Um atacante envia 'https://confiavel.com.fake-bank.com' e a comparação parcial aceita por pensar que é legítimo. Ou um código que valida extensão de arquivo comparando apenas os primeiros 4 caracteres de '.pdf', aceitando '.pdfexe' como válido.
Use funções de comparação de string completa e de forma sensível ao contexto (exact match, regex com âncoras, ou parsing estruturado). Para URLs, valide e faça parsing do host completo; para extensões, use funções especializadas que isolem a extensão real. Implemente testes de validação que cobram casos negativos com strings parcialmente válidas.