Fallos del tipo CWE-187

11 resultados

Comparação Parcial de Strings

A aplicação compara apenas uma parte de uma string em vez de validar a string completa, permitindo que um atacante contorne verificações de segurança fornecendo valores parcialmente correspondentes. Por exemplo, validar apenas o início de uma URL ou domínio deixa aberto o caminho para strings maliciosas que começam de forma legítima mas contêm payload malicioso no restante.

Ejemplo

Um código que verifica se a URL começa com 'https://banco.com' mas não valida o resto pode aceitar 'https://banco.com.ataque.com' ou 'https://banco.com@ataque.com', redirecionando o usuário para um site malicioso enquanto parece legítimo nos primeiros caracteres.

Cómo mitigar

Sempre compare a string inteira, não apenas prefixos ou sufixos. Use funções de validação estritas (igualdade completa com `equals()` ou `===`) e, para URLs/domínios, use parsers específicos que validam componentes individuais (protocolo, host, caminho) em vez de buscar substrings.