Weaknesses of type CWE-138
13 resultsNeutralização inadequada de caracteres especiais
A aplicação falha em desativar ou escapar caracteres especiais antes de usá-los em contextos sensíveis (SQL, HTML, comandos do sistema, etc.), permitindo que um atacante injete código malicioso. O risco é que esses caracteres ganhem significado especial no contexto de execução, subvertendo a lógica da aplicação.
Uma página de login concatena entrada do usuário diretamente em uma query SQL sem escapar aspas: SELECT * FROM users WHERE login='entrada_do_user'. Se o usuário digitar admin'-- , a query vira SELECT * FROM users WHERE login='admin'-- , pulando a verificação de senha e logando como admin.
Use prepared statements (queries parametrizadas) para SQL, encode de saída apropriado para o contexto (HTML entities para HTML, shell escaping para comandos), e valide/whitelist entradas no servidor. Frameworks modernos (Django, Spring, Node.js) oferecem essas proteções nativas quando usadas corretamente.