O que é injeção de comandos?

Injeção de comandos é um tipo de falha em que um sistema executa instruções escondidas dentro de dados enviados por alguém, como se estivesse obedecendo a uma ordem legítima. Em vez de só processar a informação, o programa acaba rodando um comando que o atacante escolheu.

Na prática, isso acontece quando um sistema pega um texto fornecido pelo usuário, como um campo de formulário ou um parâmetro de endereço, e o junta a um comando do sistema operacional sem verificar o conteúdo. Se o texto tiver caracteres especiais que separam ou encadeiam comandos, o sistema passa a executar partes que não deveriam existir. Por isso essa falha aparece com frequência em notícias sobre execução remota de comandos, que é o resultado mais grave dela.

Uma analogia simples é pensar em um caixa de banco que recebe um bilhete para pagar uma conta, mas, em vez de só ler o valor e o destinatário, obedece também a uma frase escrita no meio do bilhete mandando transferir o saldo para outra pessoa. O caixa não percebeu que estava lendo uma ordem onde deveria haver apenas um dado.

Esse tipo de falha importa porque pode dar a um invasor controle sobre o servidor inteiro. A proteção passa por validar e limitar tudo o que entra no sistema, evitar montar comandos com texto bruto do usuário e manter o software atualizado com os patch de segurança que o fabricante libera.

Onde falamos disso

Termos relacionados

← Ver o glossário completo