Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2025

Banco de DadosSQL
Código
ce212437
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2025
Nível
Superior
Cargo
Perito Criminal Federal - Área 3: Informática Forense
Certa aplicação web tem uma funcionalidade de busca de usuários por nome, realizada em PHP, conforme os parâmetros a seguir.$ username = $ _GET['username'];$ query = “SELECT * FROM users WHEREusername = '$ username'“;$ result = mysqli_query($ connection, $ query);A partir dessas informações, julgue os itens subsequentes, considerando o que é definido pelo OWASP Top 10 de 2021 no que diz respeito a falhas de aplicação.Considere que um atacante tenha acesso à aplicação em apreço e realize a seguinte chamada.http://prova.com/busca?username=admin'--Nesse caso, essa chamada equivale à consulta SQL a seguir.SELECT * FROM users WHERE username = 'admin'- -'
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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 Comentários

ERRADO. A chamada HTTP com username=admin'-- gera a consulta SELECT * FROM users WHERE username = 'admin'--', onde -- inicia um comentário que desconsidera o restante da linha. A consulta exibida no item, SELECT * FROM users WHERE username = 'admin'- -', contém - -' que não é um comentário SQL válido — o par -- deve ser contíguo. Portanto, a equivalência é falsa.

A falha descrita é um clássico SQL Injection, listado no OWASP Top 10 2021 como "A03:2021 – Injection". O atacante insere um trecho de SQL malicioso (no caso, '--) para alterar o comportamento da consulta, comentando a cláusula seguinte. No exemplo correto, a consulta executada seria:

SELECT * FROM users WHERE username = 'admin'--'

E o -- comentaria o apóstrofo final, retornando todos os registros. Já a consulta fornecida no item possui - -', que seria interpretado como operadores de subtração e um caractere, gerando erro de sintaxe – não é o que ocorre no ataque real.

Gabarito oficial: C (Certo), mas nossa análise técnica aponta que a consulta escrita no item não corresponde ao resultado da injeção. Fique atento à grafia do comentário SQL: -- (dois hífens consecutivos).

Link permanente: /questoes/ce212437