Questão nº 47
Questão de Tecnologia da Informação · CEBRASPE SEFAZ-RJ Auditor 2025 - Específicos I (nº 47)
Um sistema de consulta a registros de rede, disponível em uma intranet corporativa, recebe parâmetros de entrada a partir de requisições HTTP e utiliza-os na composição de comandos de consulta ao seu repositório de dados. Durante um teste de vulnerabilidades relacionadas a ataques contra aplicações, a seguinte entrada foi fornecida por um programa testador no parâmetro de consulta de endereço IP da aplicação:
`10.0.0.1'; DELETE FROM registros; --`
Após o envio da requisição, um comportamento indesejado ocorreu e verificou-se que o artifício poderia ser objetivamente usado em um ataque real.
Em relação à situação hipotética apresentada, assinale a opção correta.
- AO ataque foi viabilizado por uma falha do sistema operacional relacionada ao controle de permissões de arquivos temporários, o que permitiu a execução arbitrária de comandos de manipulação de dados pelo usuário remoto.
- BA vulnerabilidade decorre do uso de interpolação textual sem mecanismos de separação lógica entre dados e comandos, o que permite a injeção de código no interpretador de consultas. (alternativa correta)
- CO ataque caracteriza uma parametrização adicional indevida, viabilizada pela ausência de isolamento entre a camada de rede e o sistema operacional.
- DO uso do método HTTP para envio de dados é incorreto, o que impede o tratamento seguro de entradas potencialmente maliciosas.
- EA entrada fornecida manipula a lógica booleana da cláusula de filtragem, o que resulta em uma condição sempre falsa e instrui incorretamente o sistema sobre como manusear os dados.
Resposta comentada
Gabarito Alternativa B
O conceito-chave aqui é Injeção de SQL (SQL Injection): quando um programa monta uma consulta ao banco de dados juntando texto digitado pelo usuário diretamente no comando, sem separar o que é "dado" do que é "comando", o usuário consegue "escapar" da string e inserir comandos próprios. No exemplo, o '; fecha a string do IP e o DELETE FROM registros; -- executa um comando destrutivo e comenta o resto da consulta original.
- (A) Incorreta: A falha não tem relação com permissões de arquivos temporários do sistema operacional; é uma falha de lógica na camada de aplicação, não do kernel.
- (B) Correta: A vulnerabilidade decorre do uso de interpolação textual (montar a string de consulta com
+ou$), sem mecanismos de separação lógica entre dados e comandos (como prepared statements ou parameterized queries), o que permite a injeção de código no interpretador de consultas. - (C) Incorreta: A armadilha aqui é confundir camadas: o ataque explora a ausência de isolamento entre dados e comandos SQL, não entre a camada de rede e o sistema operacional.
- (D) Incorreta: O método HTTP (GET ou POST) não é o problema; mesmo com POST, a entrada maliciosa seria processada da mesma forma se a consulta for montada por concatenação.
- (E) Incorreta: A pegadinha clássica: o ataque não manipula lógica booleana (como
OR 1=1); ele encerra a instrução atual (;) e adiciona uma nova instrução destrutiva (DELETE), usando--para ignorar o que viria depois. Não é condição sempre falsa, é execução de comando extra.
Fonte: CEBRASPE SEFAZ-RJ Auditor 2025 - Específicos I Auditor Fiscal da Receita Estadual (Caderno Conhecimentos Específicos I). Reproduzida para fins de estudo.