Questão de Segurança da Informação — Ataques e ameaças — CESPE / CEBRASPE 2024
Segurança da Informação›Ataques e ameaças
Código
ce189076
Banca
CESPE / CEBRASPE
Órgão
TCE-PR
Ano
2024
Nível
Superior
Cargo
Auditor de Controle Externo – Área: Informática
A exploração de SQL injection pode ser bem-sucedida contra uma aplicação web vulnerável caso
Ao servidor não envie cabeçalhos ou diretivas de segurança, ou eles não estejam configurados para proteger os valores.
Brecursos desnecessários, por exemplo, portas, serviços ou privilégios, sejam ativados ou instalados no banco de dados.
Cnão haja separação, em níveis, entre as camadas do sistema e as camadas de rede, sendo desconsideradas as necessidades de exposição e proteção.
Ddados hostis sejam usados nos parâmetros de pesquisa de mapeamento relacional de objeto para extrair registros adicionais.
Elimites para o consumo de recursos do sistema por usuários ou por serviços sejam mal configurados ou sequer estejam configurados.
Revelar gabarito e comentário▾
GabaritoD — dados hostis sejam usados nos parâmetros de pesquisa de mapeamento relacional de objeto para extrair registros adicionais.
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 D. SQL injection é um ataque que ocorre quando dados fornecidos pelo usuário são incorporados diretamente em consultas SQL sem o devido tratamento, permitindo que comandos maliciosos sejam executados. A alternativa D descreve exatamente essa situação: "dados hostis sejam usados nos parâmetros de pesquisa de mapeamento relacional de objeto para extrair registros adicionais", ou seja, a entrada maliciosa é inserida nos parâmetros de uma consulta ORM, que, se não for parametrizada, resulta em injeção SQL. As demais alternativas referem-se a outras classes de vulnerabilidades.
Alternativa A — ❌ Incorreta
Trata da ausência de cabeçalhos ou diretivas de segurança (como Content-Security-Policy, X-Frame-Options), que protegem contra ataques como XSS e clickjacking, não contra SQL injection. A condição para SQL injection está relacionada à construção da consulta SQL, não aos cabeçalhos HTTP.
Alternativa B — ❌ Incorreta
Descreve a ativação de recursos desnecessários (portas, serviços, privilégios), que caracteriza uma configuração insegura (security misconfiguration). Embora seja uma falha de segurança, não é a condição específica para SQL injection, que exige que a entrada do usuário seja interpretada como parte do comando SQL.
Alternativa C — ❌ Incorreta
Fala sobre a falta de separação entre camadas (ex.: ausência de DMZ), que é um problema de arquitetura de rede. SQL injection é uma vulnerabilidade de aplicação, independente da segmentação de rede.
Alternativa D — ✅ Correta ⟵ GABARITO
A alternativa descreve precisamente a condição para SQL injection: dados hostis inseridos em parâmetros de pesquisa de ORM. Conforme o contexto, "a entrada...'; DELETE FROM registros; --... Isso só é possível porque a aplicação interpolou texto diretamente na query, sem usar queries parametrizadas/prepared statements". Portanto, quando a aplicação não trata adequadamente os parâmetros de consulta, o atacante pode injetar comandos SQL para extrair ou modificar dados.
Alternativa E — ❌ Incorreta
Refere-se a limites de consumo de recursos mal configurados, que podem levar a ataques de negação de serviço (DoS) ou exaustão de recursos, mas não permitem injeção de comandos SQL.
NÃO CAIA NESSA!
A banca testa se o candidato distingue a condição específica do SQL injection de outras vulnerabilidades comuns. Muitas alternativas descrevem problemas de configuração ou rede, que não são a causa direta da injeção SQL. O segredo é lembrar que SQL injection depende da falta de sanitização de entradas que são usadas em comandos SQL.