O que é injeção de código?

Injeção de código é um tipo de falha de segurança em que dados enviados a um sistema são tratados como comandos, fazendo o programa executar instruções que não deveriam ser executadas. Costuma aparecer quando o sistema confia demais no que recebe do usuário.

Na prática, o problema surge quando um campo de formulário, uma URL ou outro tipo de entrada recebe um texto preparado para ser interpretado como instrução pelo sistema, como uma consulta a banco de dados ou um comando do sistema operacional. Se o programa não separa direito o que é dado e o que é comando, o atacante consegue executar ações que o desenvolvedor nunca previu, como ver informações restritas ou alterar registros.

Uma analogia simples é pensar em um caixa de banco que recebe um bilhete com um pedido de saque. Se ele cumpre tudo o que está escrito no papel, sem checar se aquilo é um pedido normal, alguém pode escrever no bilhete uma ordem que não faz parte da operação, como abrir o cofre. O erro não está no papel em si, mas em obedecer a qualquer coisa escrita nele.

Esse tipo de falha importa porque pode dar ao invasor controle parcial ou total sobre um sistema. A proteção passa por validar e filtrar todas as entradas, usar consultas parametrizadas, manter softwares e equipamentos como firewalls sempre atualizados com os patches do fabricante e acompanhar os alertas de segurança divulgados por órgãos oficiais.

Onde falamos disso

Termos relacionados

← Ver o glossário completo