Weaknesses of type CWE-184

203 results

Lista 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.

Example

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.

How to mitigate

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.