Segurança de Banco de Dados: SQL Injection
Gabarito: letra C. O texto descreve a necessidade de separar dados não confiáveis do comando ou consulta, utilizando variáveis de ligação (prepared statements) em instruções SQL e evitando consultas dinâmicas — exatamente a definição de SQL Injection, um ataque que insere código SQL malicioso na entrada do usuário.
A questão é direta e testa o conhecimento sobre ataques comuns a bancos de dados. O trecho menciona "interpretadores" e "linguagem estruturada de consulta" (SQL), além de "variáveis de ligação" em instruções preparadas, que são técnicas de defesa contra SQL Injection. As demais alternativas referem-se a outros tipos de ataque.
Alternativa A — ❌ Incorreta
Key Logging é a captura de teclas digitadas pelo usuário, geralmente por software malicioso, não relacionado a consultas SQL.
Alternativa B — ❌ Incorreta
Buffer overflow é uma vulnerabilidade de memória que permite sobrescrever áreas adjacentes, explorada para execução de código arbitrário, não especificamente em consultas SQL.
Alternativa C — ✅ Correta ⟵ GABARITO
SQL Injection consiste em injetar comandos SQL maliciosos na entrada do usuário, explorando a falta de validação ou uso de consultas dinâmicas. O texto recomenda exatamente a prevenção: usar variáveis de ligação (prepared statements) e evitar dinamicidade.
Alternativa D — ❌ Incorreta
Cross-Site Scripting (XSS) é uma injeção de scripts do lado do cliente (geralmente JavaScript) em páginas web, afetando navegadores, não bancos de dados SQL diretamente.
Alternativa E — ❌ Incorreta
Cross-Site Request Forgery (CSRF) força o usuário autenticado a executar ações indesejadas, sem injeção de comandos no banco de dados.
Gabarito: letra C.