Julgue o próximo item, a respeito de segurança e auditoria ...

Próximas questões
Com base no mesmo assunto
Q3257327 Segurança da Informação
Julgue o próximo item, a respeito de segurança e auditoria de bancos de dados. 

Injeção de SQL consiste na inserção, por usuário malicioso, de código escrito em linguagem de script no lado do cliente, em vez da inserção de comentário válido, o que faz que o navegador execute esse script, que, por sua vez, poderá realizar ações que comprometam a segurança das informações do usuário ou do sistema.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A questão apresentada trata de um tema crucial na segurança de bancos de dados: a injeção de SQL. Este é um tipo de vulnerabilidade que pode ser explorada por usuários mal-intencionados para comprometer a integridade, confidencialidade e disponibilidade dos dados de um sistema. Vamos explorar isso em mais detalhes.

Tema central da questão: A injeção de SQL é uma técnica de ataque que se aproveita de falhas em aplicações que interagem com bancos de dados. Quando uma aplicação não valida corretamente a entrada de dados fornecida pelo usuário, um atacante pode inserir ou "injetar" código SQL malicioso diretamente nas consultas SQL que a aplicação executa no banco de dados. Isso pode resultar em manipulação de dados, divulgação não autorizada de informações, ou até mesmo a destruição de dados.

Resumo teórico: A injeção de SQL não envolve a execução de scripts no lado do cliente, como menciona erroneamente o enunciado da questão. Em vez disso, ocorre no lado do servidor, onde o código SQL injetado é interpretado pelo banco de dados. Diferentemente de ataques como o Cross-Site Scripting (XSS), que realmente envolvem scripts de cliente, a injeção de SQL manipula diretamente as consultas SQL enviadas ao banco de dados.

Por exemplo, em um formulário de login que não valida corretamente os dados de entrada, um usuário mal-intencionado pode inserir algo como ' OR '1'='1 na caixa de senha para enganar o sistema a conceder acesso sem uma senha válida.

Justificativa da alternativa correta: A alternativa correta é Errado (E), porque o enunciado descreve erroneamente a técnica de injeção de SQL como se fosse um ataque que envolve a execução de scripts do lado do cliente. Na verdade, a injeção de SQL ocorre no lado do servidor, diretamente no banco de dados, onde o código malicioso é injetado em consultas SQL existentes.

Análise da alternativa incorreta: A alternativa Certo (C) estaria incorreta porque aceita a definição equivocada apresentada no enunciado. A injeção de SQL não lida com scripts de cliente, mas sim com a manipulação de consultas SQL do servidor.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Gabarito: Errado

Injeção de SQL (SQL Injection): ocorre quando um usuário mal-intencionado insere comandos SQL em campos de entrada (como formulários de login ou consultas de pesquisa) para manipular um banco de dados. Isso pode levar à exposição ou modificação de dados sigilosos.

Cross-Site Scripting (XSS): ocorre quando um invasor injeta código JavaScript malicioso em páginas web, fazendo com que o navegador execute comandos prejudiciais.

A questão mistura os dois conceitos.

Errado.

A injeção de SQL é uma técnica de ataque que se aproveita de falhas em aplicações que interagem com bancos de dados. Quando uma aplicação não valida corretamente a entrada de dados fornecida pelo usuário, um atacante pode inserir ou "injetar" código SQL malicioso diretamente nas consultas SQL que a aplicação executa no banco de dados. Isso pode resultar em manipulação de dados, divulgação não autorizada de informações, ou até mesmo a destruição de dados.

Justificativa da alternativa correta: A alternativa correta é Errado (E), porque o enunciado descreve erroneamente a técnica de injeção de SQL como se fosse um ataque que envolve a execução de scripts do lado do cliente. Na verdade, a injeção de SQL ocorre no lado do servidor, diretamente no banco de dados, onde o código malicioso é injetado em consultas SQL existentes.

Pessoal, SQL Injection não é só em formulário não viu!

Trabalho com isso a anos e não se utiliza só de campos de formulários, você consegue até manipulando a url fazer uma injeção sql nela.

Fica a dica!

Rumo a PF25!

Um ataque SQL Injection possibilita o envio de comandos SQL por meio de campos de entrada de aplicações web.

Gabarito: errado.

Por que está errado:

  • SQLi (Injeção de SQL): Ocorre no lado do servidor, onde um atacante insere comandos SQL () em campos de entrada (como formulários ou URLs) para manipular consultas ao banco de dados, podendo roubar ou alterar dados.
  • XSS (Cross-Site Scripting): Envolve a injeção de código de script (como JavaScript) no lado do cliente (no navegador do usuário) para executar ações maliciosas no contexto da sessão do usuário, como roubo de cookies ou redirecionamentos. 

O enunciado descreve um ataque que insere código de script no navegador (característica do XSS) e o atribui à Injeção de SQL, que foca na manipulação do banco de dados, tornando a afirmação incorreta. 

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo