Pular para o conteúdo principal

Questão de Segurança da Informação — Ataques a Aplicações Web (XSS, CSRF, SQL Injection etc.) — INSTITUTO AOCP 2024

Segurança da InformaçãoAtaques a Aplicações Web (XSS, CSRF, SQL Injection etc.)
Código
qa632722
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )

No ambiente do Ministério da Gestão e da Inovação, houve a implantação de um sistema que contém falhas que permitem injeção SQL.

 

Qual é o resultado potencial de uma injeção SQL bem-sucedida em um sistema?

  1. AAcesso apenas a informações de baixa sensibilidade.
  2. BExecução de ações maliciosas no banco de dados.
  3. CAlteração temporária das configurações do firewall.
  4. DMelhoria na eficiência da consulta SQL.
  5. ERestrição do acesso a recursos do sistema.
Revelar gabarito e comentário

GabaritoB — Execução de ações maliciosas no banco de dados.

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”.

Injeção de SQL (SQL Injection)

Gabarito: letra B. Uma injeção SQL bem-sucedida permite ao atacante executar ações maliciosas no banco de dados, como ler, modificar ou excluir dados, e até obter controle total do servidor em alguns casos. Essa é a consequência central do ataque, que explora falhas na validação das entradas do usuário para manipular as consultas SQL enviadas à base de dados.

A injeção de SQL (SQLi) é uma das vulnerabilidades mais críticas em aplicações web. Ela ocorre quando dados fornecidos pelo usuário são incorporados diretamente em consultas SQL sem a devida validação, filtragem ou parametrização. O atacante insere comandos SQL maliciosos em campos de formulários, URLs ou outros pontos de entrada, alterando a lógica da consulta original. O objetivo é interferir nas consultas que a aplicação faz ao banco de dados, permitindo visualizar dados que não deveria acessar, modificar ou deletar informações, e, em cenários mais graves, executar comandos administrativos no servidor.

O impacto de uma injeção SQL bem-sucedida é amplo e severo. O atacante pode obter acesso a dados sigilosos de outros usuários, como senhas, informações pessoais e financeiras. Pode também modificar ou excluir dados, causando alterações persistentes no conteúdo ou comportamento da aplicação. Em bancos de dados com privilégios elevados, é possível até mesmo obter acesso root ao sistema operacional, comprometendo toda a infraestrutura. A gravidade depende das permissões da conta usada pela aplicação para acessar o banco e da configuração do servidor.

A prevenção da injeção de SQL envolve práticas como o uso de consultas parametrizadas (prepared statements), que separam os dados dos comandos SQL, a validação rigorosa das entradas e o escape adequado de caracteres especiais. Essas medidas impedem que o atacante consiga injetar código malicioso nas consultas. É importante destacar que firewalls não impedem a injeção de SQL sozinhos, pois o ataque explora a confiança excessiva na entrada do usuário, não falhas de rede.

A banca explora a confusão entre o resultado de uma injeção SQL e os efeitos de outros tipos de ataque. O candidato pode ser tentado a escolher alternativas que descrevem impactos de ataques como XSS (que afeta o navegador do usuário) ou CSRF (que força ações em sessões autenticadas). A chave é lembrar que a injeção SQL tem como alvo direto o banco de dados, permitindo a execução de ações maliciosas sobre os dados armazenados.

1Causa
Entrada do usuário sem validação
Consulta SQL manipulada
2Resultado
Ler dados indevidos
Modificar/excluir dados
Executar comandos administrativos
Comprometer o servidor
3Prevenção
Consultas parametrizadas
Validação de entradas
Escape de caracteres
Injeção SQL (SQLi)
LEVELsoulevel.com.br
Injeção SQL (SQLi): Causa (Entrada do usuário sem validação, Consulta SQL manipulada); Resultado (Ler dados indevidos, Modificar/excluir dados, Executar comandos administrativos, Comprometer o servidor); Prevenção (Consultas parametrizadas, Validação de entradas, Escape de caracteres)

Alternativa A — ❌ Incorreta

A injeção SQL não se limita a acessar informações de baixa sensibilidade. Pelo contrário, o atacante pode acessar qualquer dado armazenado no banco de dados, incluindo informações altamente sensíveis, como credenciais, dados financeiros e informações pessoais de todos os usuários. A gravidade do acesso depende das permissões da conta usada pela aplicação, mas não há restrição inerente a dados de baixa sensibilidade.

Alternativa B — ✅ Correta ⟵ GABARITO

A execução de ações maliciosas no banco de dados é exatamente o resultado potencial de uma injeção SQL bem-sucedida. O atacante pode inserir comandos SQL arbitrários, permitindo ler, modificar, inserir ou excluir dados, além de executar operações administrativas no banco. Isso pode levar à exfiltração de dados, corrupção de informações e, em casos extremos, ao comprometimento total do servidor.

Alternativa C — ❌ Incorreta

A alteração das configurações do firewall não é um resultado direto da injeção SQL. O ataque visa o banco de dados, não a infraestrutura de rede. Embora um atacante possa, em cenários muito específicos, usar a injeção SQL para executar comandos no sistema operacional e tentar modificar configurações, isso não é o resultado típico ou esperado do ataque. A alternativa descreve um impacto de outro tipo de ataque, como um ataque à rede ou ao sistema operacional.

Alternativa D — ❌ Incorreta

A injeção SQL não melhora a eficiência das consultas SQL. Pelo contrário, ela corrompe a lógica das consultas, podendo causar erros, lentidão ou até indisponibilidade do sistema. O objetivo do atacante é explorar a vulnerabilidade para obter acesso indevido, não otimizar o desempenho do banco de dados. A alternativa confunde o ataque com uma prática legítima de otimização de consultas.

Alternativa E — ❌ Incorreta

A injeção SQL não restringe o acesso a recursos do sistema; ela faz o oposto. O ataque amplia o acesso do atacante, permitindo que ele visualize e manipule dados que normalmente não poderia acessar. A restrição de acesso é uma medida de segurança, não uma consequência do ataque. A alternativa descreve o efeito de um controle de acesso eficaz, não o resultado de uma vulnerabilidade explorada.

Gabarito: letra B

Link permanente: /questoes/qa632722