Weaknesses of type CWE-184
159 resultsLista incompleta de entradas bloqueadas
Ocorre quando um aplicativo tenta bloquear entradas maliciosas usando uma lista de padrões ou valores proibidos, mas a lista é incompleta ou pode ser contornada. Um atacante descobre variações não contempladas (encoding diferente, casos alternativos, caracteres especiais) e consegue passar por uma validação que se supõe segura.
Um formulário bloqueia SQL injection filtrando a palavra 'DROP', mas não 'dr0p', não '/*DROP*/' ou variações com espaços. Um atacante usa uma dessas formas para executar comandos SQL maliciosos que a lista de bloqueio não previu.
Em vez de listar o que é proibido (blocklist), defina explicitamente o que é permitido (allowlist/whitelist) com validação rígida de formato. Use bibliotecas consolidadas de sanitização e escape específicas para cada contexto (SQL, HTML, JavaScript) — nunca confie em listas de palavras-chave.