Pular para o conteúdo principal

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

Segurança da InformaçãoAtaques e ameaças
Código
fg038323
Banca
FGV
Órgão
Banestes
Ano
2021
Nível
Superior
Cargo
Analista em Tecnologia da Informação - Segurança da Informação
SQL Injection é uma técnica de ataque na qual o invasor se aproveita de falhas em aplicativos web que interagem com bases de dados para inserir uma instrução SQL personalizada e indevida.Para evitar essa ameaça de segurança, é necessário:
  1. Autilizar expressões regulares para cifrar as variáveis enviadas para o sistema;
  2. Bconcatenar diretamente o input do usuário com a consulta SQL;
  3. Cencapsular as entradas de dados dentro de aspas simples ao montar dinamicamente consultas SQL;
  4. Dretornar no corpo das respostas HTTP as mensagens de erro em bancos de dados;
  5. Evalidar todas as entradas de dados, como formulários ou URL da aplicação.
Revelar gabarito e comentário

GabaritoE — validar todas as entradas de dados, como formulários ou URL da aplicação.

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 e Prevenção

Gabarito: letra E. O SQL Injection explora falhas de validação de entradas do usuário para inserir comandos SQL maliciosos. A principal medida preventiva é validar rigorosamente todas as entradas de dados (formulários, parâmetros de URL, etc.) – prática que a alternativa E descreve corretamente. O conteúdo de apoio (C1) confirma: "A prevenção envolve uso de consultas parametrizadas e validação de entrada."

1Validar entradas (formulários, URL)
2Consultas parametrizadas
3Concatenar input direto
4Aspas simples insuficientes
5Exibir erros de BD
6Cifrar variáveis (não previne)
Prevenção SQL Injection
LEVELsoulevel.com.br
Prevenção SQL Injection: Validar entradas (formulários, URL); Consultas parametrizadas; Concatenar input direto; Aspas simples insuficientes; Exibir erros de BD; Cifrar variáveis (não previne)

Alternativa A — ❌ Incorreta

Expressões regulares podem ajudar na validação, mas "cifrar as variáveis" não é a defesa contra injeção de SQL; cifra protege a confidencialidade, não a integridade da consulta.

Alternativa B — ❌ Incorreta

Concatenar diretamente o input do usuário com a consulta SQL é a causa do SQL Injection – exatamente o que se deve evitar.

Alternativa C — ❌ Incorreta

Encapsular entradas com aspas simples não é suficiente; atacantes podem usar escapes (ex.: ' OR 1=1 --). A forma segura é usar consultas parametrizadas (prepared statements).

Alternativa D — ❌ Incorreta

Exibir mensagens de erro de banco de dados no corpo da resposta HTTP vaza informações que auxiliam o atacante (ex.: nome de tabelas, estrutura da query).

Alternativa E — ✅ Correta ⟵ GABARITO

Validar todas as entradas (tanto de formulários quanto de URL) é a primeira linha de defesa contra injeção de SQL, impedindo que dados maliciosos sejam interpretados como parte do comando SQL.

Gabarito: letra E.

Link permanente: /questoes/fg038323