Fallos del tipo CWE-759
18 resultadosUso de hash unidirecional sem sal
É quando o desenvolvedor aplica uma função de hash (como MD5 ou SHA-1) direto em dados sensíveis sem adicionar um valor aleatório único (sal) antes. Isso permite que atacantes usem tabelas pré-calculadas (rainbow tables) para recuperar o valor original em segundos, especialmente para senhas fracas ou comuns.
Um sistema armazena senha como `hash = md5(senha_do_usuario)`. Um atacante que consegue a base de dados pode comparar cada hash com uma rainbow table pública e descobrir senhas em minutos. Se o código tivesse usado `hash = md5(sal_aleatorio + senha)`, a tabela pré-calculada seria inútil.
Use funções de hash modernas com sal integrado, como bcrypt, scrypt ou argon2, que geram o sal automaticamente e são computacionalmente caras. Nunca use MD5, SHA-1 ou SHA-256 puro para senhas — reserve essas apenas para verificação de integridade (checksums), não autenticação.