Questão de Segurança da Informação — Ataques e ameaças — FGV 2026
Segurança da Informação›Ataques e ameaças
Código
fg129173
Banca
FGV
Órgão
AMAZUL
Ano
2026
Nível
Superior
Cargo
Engenheiro de Computação
Uma aplicação web permite que usuários façam login usando credenciais armazenadas em banco de dados. Um teste de segurança identificou que a aplicação é vulnerável a SQL Injection no campo de senha.A técnica de mitigação mais efetiva para corrigir essa vulnerabilidade é
Aimplementar validação de entrada apenas no lado cliente usando JavaScript.
Bcriptografar a conexão com o banco de dados usando SSL/TLS.
Cutilizar consultas parametrizadas (prepared statements) no acesso ao banco de dados.
Dimplementar rate limiting para limitar tentativas de login.
Earmazenar as senhas em texto claro para facilitar a validação.
Revelar gabarito e comentário▾
GabaritoC — utilizar consultas parametrizadas (prepared statements) no acesso ao 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”.
SQL Injection
Gabarito: letra C. A mitigação mais efetiva para SQL Injection é utilizar consultas parametrizadas (prepared statements), pois elas separam o código SQL dos dados fornecidos pelo usuário, impedindo a interpretação maliciosa de caracteres especiais. As demais alternativas tratam de aspectos relacionados à segurança, mas não previnem diretamente a injeção de SQL.
Alternativa A — ❌ Incorreta
Validação de entrada apenas no lado cliente (JavaScript) é facilmente contornada por um atacante, pois pode ser desabilitada ou ignorada. Embora seja uma prática auxiliar, não é suficiente como única defesa contra SQL Injection.
Alternativa B — ❌ Incorreta
Criptografar a conexão com SSL/TLS protege os dados em trânsito, mas não altera a construção da consulta SQL. A injeção ocorre antes da transmissão, no momento em que a query é montada com os dados do usuário.
Alternativa C — ✅ Correta ⟵ GABARITO
Consultas parametrizadas (prepared statements) garantem que os valores fornecidos pelo usuário sejam tratados como dados, não como parte do comando SQL. Isso elimina a possibilidade de injeção, independentemente do conteúdo do campo.
Alternativa D — ❌ Incorreta
Rate limiting limita o número de tentativas de login, prevenindo ataques de força bruta, mas não impede a injeção de SQL nas consultas.
Alternativa E — ❌ Incorreta
Armazenar senhas em texto claro viola princípios básicos de segurança e não tem relação com a correção da vulnerabilidade de SQL Injection. Pelo contrário, agrava o impacto de um eventual vazamento.
PEGA ESSA DICA!
Em questões sobre SQL Injection, lembre-se de que a solução fundamental é a separação entre código e dados – exatamente o que as consultas parametrizadas fazem. NVelhor evitar confundir com criptografia (que protege o canal) ou validação (que pode ser burlada).