Weaknesses of type CWE-138

13 results

Neutralizaçã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.

Example

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.

How to mitigate

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.