Questão nº 82

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

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.


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'--'

Resposta comentada

O conceito-chave aqui é Injeção SQL (SQL Injection): quando o código junta o dado do usuário direto no texto do comando SQL, o atacante consegue "escapar" das aspas e inserir comandos próprios. No PHP, o -- é um comentário de linha no MySQL, então tudo que vem depois dele é ignorado pelo banco.

  • Correta: Certo. A chamada envia username=admin'--, que é inserido na query como 'admin'--'. As aspas simples após admin fecham a string, e o -- comenta o resto ('), fazendo a consulta buscar apenas username = 'admin', sem exigir senha.

Fica de olho: A banca pode trocar o -- por # (comentário no MySQL) ou usar ' OR '1'='1 — nesses casos, a query resultante seria diferente da mostrada no item, tornando-o errado se a descrição não bater exatamente com o que a chamada produz.

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