Questão de Segurança da Informação — Ataques e ameaças — FGV 2022
Segurança da Informação›Ataques 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:
AHTML injection, com o objetivo de alterar a página de login;
BSQL injection, com o objetivo de bypassar a página de login;
CSQL injection, com o objetivo de forçar o banco de dados a gerar um erro;
DCommand injection, com o objetivo de realizar a execução de código na página de login;
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 string1' 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.