Weaknesses of type CWE-943
65 resultsNeutralização inadequada de caracteres especiais em lógica de consulta de dados
Ocorre quando a aplicação não sanitiza ou valida adequadamente entradas de usuário antes de usá-las em construção de queries (SQL, LDAP, NoSQL, etc.), permitindo que caracteres especiais sejam interpretados como comandos. Um atacante injeta caracteres como aspas, parênteses ou operadores lógicos para alterar a estrutura da consulta, contornando filtros ou acessando dados não autorizados.
Um sistema busca usuários por nome usando `query = "SELECT * FROM users WHERE name = '" + userName + "'"`; se o usuário entra `admin' OR '1'='1`, a query vira `SELECT * FROM users WHERE name = 'admin' OR '1'='1'`, retornando todos os usuários. Isso é injection clássica.
Use prepared statements/parameterized queries (o banco interpreta a entrada como dado, não código) ou implemente validação rigorosa e escape apropriado para cada contexto (SQL, LDAP, etc.). Nunca concatene strings diretamente em queries.