Pular para o conteúdo principal

Questão de Segurança da Informação — Ataques e ameaças — FGV 2022

Segurança da InformaçãoAtaques e ameaças
Código
fg055848
Banca
FGV
Órgão
TJ-DFT
Ano
2022
Nível
Superior
Cargo
Analista Judiciário - Segurança da Informação
A equipe de segurança de um órgão público detectou em seus sistemas de monitoramento a seguinte requisição em direção a um site do órgão:http://www.site.gov.br/index.php?username=1'%20or%20'1'%20 =%20'1'))/*&password=t&$t3.O tipo e a técnica de ataque detectados são, respectivamente:
  1. AHTML injection, com o objetivo de alterar a página de login;
  2. BSQL injection, com o objetivo de bypassar a página de login;
  3. CSQL injection, com o objetivo de forçar o banco de dados a gerar um erro;
  4. DCommand injection, com o objetivo de realizar a execução de código na página de login;
  5. ECommand injection, com o objetivo de forçar o banco de dados a gerar um erro.
Revelar gabarito e comentário

GabaritoB — SQL injection, com o objetivo de bypassar a página de login;

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

SQL Injection

Gabarito: letra B. O ataque detectado é uma injeção SQL (SQL injection), pois a requisição contém uma string maliciosa (1' or '1' ='1) inserida no parâmetro username da URL. Essa técnica explora falhas na validação de entrada do aplicativo para manipular consultas ao banco de dados. O objetivo é contornar a autenticação (bypass) da página de login, fazendo com que a condição or '1'='1' sempre seja verdadeira, liberando o acesso sem credenciais válidas.

Alternativa A — ❌ Incorreta

HTML injection envolve a inserção de código HTML malicioso para alterar a aparência ou comportamento de uma página. A requisição fornecida não contém tags HTML ou scripts do lado do cliente; ela manipula diretamente a lógica SQL do servidor.

Alternativa B — ✅ Correta ⟵ GABARITO

A string 1' or '1'='1 é um clássico exemplo de SQL injection. Ela tenta fechar a query original e adicionar uma condição que sempre resulta em verdadeiro, permitindo o acesso sem autenticação – ou seja, bypass da página de login.

Alternativa C — ❌ Incorreta

Embora o tipo de ataque seja SQL injection, o objetivo não é forçar o banco de dados a gerar um erro. A intenção é explorar a lógica da consulta para obter acesso não autorizado, e não provocar uma mensagem de erro no sistema.

Alternativa D — ❌ Incorreta

Command injection (injeção de comandos) ocorre quando o atacante insere comandos do sistema operacional em uma aplicação. A requisição contém apenas código SQL, não comandos de sistema.

Alternativa E — ❌ Incorreta

Novamente, não se trata de command injection, e o objetivo descrito (forçar erro no banco) não está alinhado com a string apresentada, que visa contornar a autenticação.

NÃO CAIA NESSA!

A banca tenta confundir o candidato com o termo "forçar o banco a gerar um erro" (alternativas C e E). Embora SQL injection possa causar erros, o código 1' or '1'='1 é típico de bypass de login, não de provocar erro. Além disso, command injection é outro tipo de ataque que não se aplica aqui. Fique atento: a presença de aspas simples e operadores lógicos (or, =) é característica de SQL injection.

Gabarito: letra B.

Link permanente: /questoes/fg055848