Questão de Segurança da Informação — Ataques a Aplicações Web (XSS, CSRF, SQL Injection etc.) — VUNESP 2023
Segurança da Informação›Ataques a Aplicações Web (XSS, CSRF, SQL Injection etc.)
Código
vu197081
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Aud ( )
O tipo de ataque que explora o fato de aplicações não efetuarem o devido tratamento em dados digitados pelo usuário antes de passar esses dados para o shell do sistema operacional é denominado
ACommand Injection.
BBlue Screen of Death.
CPing of Death.
DSmurf.
ER.U.D.Y.
Revelar gabarito e comentário▾
GabaritoC — Ping of Death.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Command Injection e a execução de comandos no sistema operacional
Gabarito: letra A. O ataque que explora a falta de tratamento (validação/sanitização) dos dados fornecidos pelo usuário antes de passá-los ao shell do sistema operacional é o Command Injection — a injeção de comandos do sistema operacional, que permite a execução remota de comandos no servidor. As demais alternativas (Blue Screen of Death, Ping of Death, Smurf e R.U.D.Y.) são ataques de negação de serviço ou fenômenos de sistema, não relacionados à injeção de comandos via entrada de dados.
O Command Injection é uma vulnerabilidade de segurança que ocorre quando uma aplicação web ou outro software constrói comandos do sistema operacional (como ls, cat, whoami, ping) concatenando diretamente dados fornecidos pelo usuário, sem a devida validação, filtragem ou sanitização. O atacante, então, insere caracteres especiais (como ;, &&, |, $(), crases) para encerrar o comando legítimo e executar comandos arbitrários no servidor. Por exemplo, se uma aplicação executa ping <ip> e o usuário digita 127.0.0.1; cat /etc/passwd, o sistema executará o ping e, em seguida, o comando cat /etc/passwd, expondo informações sensíveis.
A raiz do problema está na falta de separação entre dados e comandos. Quando a aplicação não trata a entrada do usuário como dado, mas a concatena diretamente em uma string que será interpretada pelo shell, ela permite que o usuário injete comandos. A prevenção envolve: validar rigorosamente as entradas, usar funções que não invoquem o shell (como execve em vez de system), escapar caracteres especiais e aplicar o princípio do menor privilégio. Essa é a mesma lógica por trás de outras injeções, como SQL Injection e XSS, mas com alvo no sistema operacional.
A banca explora a confusão entre Command Injection e outros ataques que também envolvem envio de dados maliciosos, mas com alvos diferentes: SQL Injection ataca o banco de dados, XSS ataca o navegador do usuário, e CSRF explora a sessão autenticada. O Command Injection é específico por mirar o shell do sistema operacional. Guarde essa distinção: é exatamente ela que separa a alternativa correta das demais.
Injeção de comandos
1Alvo
Shell do sistema operacional
2Causa
Falta de validação/sanitização
Concatenação direta de dados
3Prevenção
Validar entradas
Evitar funções que invocam shell
Escapar caracteres especiais
Menor privilégio
4Distinção por alvo
SQL Injection → banco de dados
XSS → navegador do usuário
Command Injection → shell do SO
LEVEL · soulevel.com.br
Alternativa A — ✅ Correta ⟵ GABARITO
O Command Injection é exatamente o ataque descrito no enunciado: a aplicação não efetua o devido tratamento (validação/sanitização) dos dados digitados pelo usuário antes de passá-los ao shell do sistema operacional. O atacante injeta comandos maliciosos que são executados no servidor, podendo ler arquivos, executar programas ou comprometer o sistema. É a definição clássica dessa vulnerabilidade, listada no OWASP Top 10 como parte da categoria "Injeção".
Alternativa B — ❌ Incorreta
Blue Screen of Death (BSOD) é a tela azul de erro do Windows, que indica uma falha crítica do sistema operacional. Não é um ataque, mas um sintoma de erro de sistema — pode ser causado por um ataque, mas não é um tipo de ataque que explora entrada de dados para executar comandos no shell. A banca o inclui como distrator para confundir quem não conhece o termo.
Alternativa C — ❌ Incorreta
Ping of Death é um ataque de negação de serviço (DoS) que envia pacotes ICMP (ping) com tamanho maior que o permitido pelo protocolo, causando estouro de buffer e travamento do sistema alvo. Não envolve injeção de comandos via entrada de dados em aplicações — é um ataque de rede que explora falhas no empilhamento de protocolos.
Alternativa D — ❌ Incorreta
Smurf é outro ataque de negação de serviço (DoS) que explora o envio de pacotes ICMP (ping) com endereço de origem falsificado (spoofing) para o endereço de broadcast de uma rede, fazendo com que todos os hosts da rede respondam ao alvo, sobrecarregando-o. Não tem relação com injeção de comandos em aplicações.
Alternativa E — ❌ Incorreta
R.U.D.Y. (R U Dead Yet?) é uma ferramenta de ataque de negação de serviço (DoS) de baixa e lenta velocidade, que mantém conexões HTTP abertas enviando dados aos poucos, esgotando os recursos do servidor. Não explora a falta de tratamento de entrada para executar comandos no shell — é um ataque de exaustão de recursos.
NÃO CAIA NESSA!
A banca mistura ataques de negação de serviço (Ping of Death, Smurf, R.U.D.Y.) com o Command Injection, que é um ataque de injeção. O candidato que decora nomes sem entender o mecanismo pode confundir. Lembre-se: Command Injection = execução de comandos no sistema operacional; os demais = indisponibilidade de serviço.
PEGA ESSA DICA!
Para diferenciar ataques de injeção, pergunte: qual é o alvo? SQL Injection → banco de dados; XSS → navegador do usuário; Command Injection → shell do sistema operacional. Essa pergunta resolve a maioria das questões.