Questão nº 81

Questão de Informática Forense · CEBRASPE PF 2025 (nº 81)

CEBRASPE2025Perito Criminal Federal - Informática ForenseInformá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 WHERE username = '$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.


Na URL a seguir, o uso de -- indica o início de um comentário em SQL, de modo que o restante da consulta é ignorado.

http://prova.com/busca?username=admin'--

Resposta comentada

Injeção SQL acontece quando um site monta uma consulta ao banco de dados juntando texto digitado pelo usuário direto no comando. No código, o valor de username é colocado dentro de aspas simples na query, então qualquer caractere especial digitado vira parte do comando SQL. O -- é um comentário em SQL (e também em PHP, mas aqui o contexto é SQL): tudo que vier depois dele é ignorado pelo banco.

  • Correta: Certo. Na URL, admin' fecha a aspas simples aberta no código e -- comenta o resto (' final da query), fazendo a consulta buscar só por admin, ignorando qualquer condição extra que viria depois.

Fica de olho: a banca pode trocar -- por # ou por /* (outros comentários SQL) e afirmar que não funcionam — mas funcionam, dependendo do SGBD. Ou pode inverter: dizer que -- precisa de um espaço depois (-- ) para comentar em alguns bancos, e marcar como errado um caso sem espaço — mas no MySQL o -- exige espaço, então se a URL não tiver espaço, o comentário não acontece e o item seria errado.

Fonte: CEBRASPE PF 2025 Perito Criminal Federal - Informática Forense. Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho