Questões de Concurso sobre Injeção SQL (SQL Injection)

 
 
Disciplina 1
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
75 questões encontradas
Questões por página
20
Mais recentes
 

A técnica usada especificamente para explorar vulnerabilidades em bancos de dados e obter acesso não autorizado a informações sensíveis é


A

o ataque de força bruta.


B

o phishing.


C

a Injeção SQL (SQL Injection).


D

o ataque de negação de serviço (DoS).


E

a exploração de vulnerabilidades de buffer overflow.

Ao contrário do LDAP injection, em que o invasor pode inserir ou manipular consultas criadas pela aplicação, no SQL injection o invasor pode apenas inserir consultas na aplicação, que são enviadas diretamente para o banco de dados.


C

Certo


E

Errado

Considere o seguinte trecho de código em PHP:


<?php

/*...*/

$sessionID = $_POST['sessionID'];

$query = "SELECT * FROM User WHERE sessionID LIKE '%$sessionID%'";

$result = pg_query($conn, $query);

/*...*/

?>


Esse trecho de código apresenta uma falha de segurança muito comum, listada como a falha de segurança mais frequente pelo relatório OWASP Top 10 de 2017.


Tal falha de segurança é conhecida como:


A

SQL Injection.


B

Session Hijacking.


C

Cross-Site Scripting (XSS).


D

Cross-Site Request Forgery (CSRF).

Ao utilizar o PHP Data Objects (PDO) para interação com um banco de dados MySQL, qual prática é recomendada para prevenir SQL Injection?


A

Utilização de prepared statements com placeholders para parâmetros.


B

Uso de variáveis globais PHP dentro de consultas SQL.


C

Concatenação direta de variáveis na string de consulta SQL.


D

Execução direta de consultas SQL recebidas através de entradas do usuário.

Analise as informações a seguir:


I. É certo afirmar que a linguagem SQL (Structured Query Language) permite criar tabelas, colunas, índices, atribuir permissões a usuários, realizar consultas a dados, ou seja, a linguagem SQL conversa com o banco de dados.

II. É certo afirmar que, no que se refere à segurança de Banco de Dados, o SQL Injection surge como uma técnica de ataque baseada na manipulação do código SQL, que é a linguagem utilizada para troca de informações entre aplicativos e bancos de dados relacionais.


Marque a alternativa CORRETA:


A

As duas afirmativas são verdadeiras.


B

A afirmativa I é verdadeira, e a II é falsa.


C

A afirmativa II é verdadeira, e a I é falsa.


D

As duas afirmativas são falsas.

Um ataque do tipo injeção SQL é caracterizado por permitir a passagem de parâmetros SQL via entrada de dados da aplicação e executar tais parâmetros no banco de dados.


C

Certo


E

Errado

As organizações realizam diversas transações eletrônicas durante a execução das suas atividades operacionais, com aplicações de uso interno e externo, desenvolvidas em diferentes linguagens de programação, que persistem os dados coletados em um Sistema de Gerenciamento de Banco de Dados. O armazenamento desses dados deve ser revestido de uma boa camada de segurança, bem como as aplicações que consomem e alimentam esse banco, pois as consultas dinâmicas desenvolvidas nessas aplicações, se não protegidas adequadamente, produzem vulnerabilidades que podem causar danos de magnitude catastrófica em uma base de dados, permitindo acessos indevidos através de ataques conhecidos como SQL Injection. Sobre esse tipo de ataque, analise as afirmativas a seguir.


I. Consiste basicamente em digitar comandos SQL, exclusivamente do tipo DML, nos inputs de formulários da aplicação.

II. Um teste de SQL Injection pode ser em uma tela de login de um sistema WEB qualquer, digitar o comando ' or 1=1 or 'a' = 'a no campo de login, preencher o campo senha com qualquer valor e clicar no botão que efetua o login para verificar se o sistema realizará a autenticação.

III. Uma forma de proteger a aplicação do SQL Injection é realizar a validação/tratamento das informações manualmente ou utilizar frameworks de persistência/ORM que possuam mecanismos para evitar esse tipo de ataque.

Está correto o que se afirma apenas em


A

I.


B

II.


C

III.


D

II e III.

Um ataque do tipo SQL Injection consiste na inserção de uma consulta SQL através dos dados de entrada do cliente para a aplicação.


Com relação às defesas primárias recomendadas pela OWASP para esse tipo de ataque, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.


( ) Implementar escape em todos os dados fornecidos pelo usuário.

( ) Emprego de Stored Procedures adequadamente construídas.

( ) Utilização de Prepared Statements com consultas parametrizadas.


As afirmativas são, respectivamente,


A

V – F – F.


B

F – V – V.


C

F – F – V.


D

V – V – V.


E

V – V – F.

Em função de muitos sites e aplicativos da Web dependerem de bancos de dados SQL, um ataque SQL injection pode gerar sérias consequências, porque boa parte dos formulários da Web não consegue impedir a entrada de informações adicionais, o que propicia a exploração desse ponto fraco e o uso das caixas de entrada no formulário para envio de solicitações maliciosas ao banco de dados.


C

Certo


E

Errado

Considere responsável pela segurança da informação do Ministério Público da Bahia. O termo “segurança” abarca as políticas, os procedimentos e as medidas técnicas empregadas para impedir acesso não autorizado, alteração, roubo ou danos físicos a sistemas de informação. Sabemos que as vulnerabilidades estão presentes a cada acesso, aplicação ou troca de informações. A figura a ilustra as ameaças mais comuns contra sistemas de informação contemporâneos:


Imagem associada para resolução da questão


Vulnerabilidades e desafios de segurança contemporâneos.


(Laudon, 2023, p. 295.)


Considerando tais ameaças, marque V para as afirmativas verdadeiras e F para as falsas.


( ) Worms: são programas de computador independentes que se copiam de um computador para outros em uma rede.

( ) SQL injection: tiram proveito das vulnerabilidades nas aplicações da web mal codificadas para introduzir código de programa malicioso nos sistemas e redes corporativos.

( ) Ransomware: tenta extorquir dinheiro dos usuários; para isso, assume o controle de computadores, bloqueando o acesso a arquivos ou exibindo mensagens pop-up incômodas.

( ) Spoofing: é um tipo de programa espião que monitora as informações transmitidas por uma rede

( ) Sniffer: ocorre quando alguém finge ser um contato ou uma marca em quem você confia para acessar informações pessoais sensíveis. Também pode envolver o redirecionamento de um link para um endereço diferente do desejado, estando o site espúrio “disfarçado” como o destino pretendido.


A sequência está correta em


A

V, F, F, F, V.


B

F, V, F, V, F.


C

V, V, F, V, F.


D

F, F, V, F, V.


E

V, V, V, F, F.

Uma maneira de evitar ataques do tipo SQL Injection em aplicações web, por parte do desenvolvedor, consiste em


A

utilizar queries parametrizadas na programação da aplicação, por meio das quais código SQL é definido de forma separada dos valores usados como parâmetros.


B

instalar um antivírus no computador que executa o servidor web.


C

substituir o uso do protocolo HTTP por HTTPS, caso o HTTP ainda seja usado, garantindo que a comunicação nas requisições e respostas sejam encriptadas.


D

não utilizar JavaScript no desenvolvimento do website.


E

evitar o uso de sistemas gerenciadores de bancos de dados relacionais (SGBDRs) gratuitos, dando preferência ao uso de SGBDRs pagos.

O tipo de ataque que explora o fato de aplicações não efetuarem o devido tratamento em dados digitados pelo usuário antes de passar esses dados para o shell do sistema operacional é denominado


A

Command Injection.


B

Blue Screen of Death.


C

Ping of Death.


D

Smurf.


E

R.U.D.Y.

Em uma aplicação com entrada de dados e comunicação com um banco de dados no back-end, _______ é o ataque que explora uma vulnerabilidade da validação da entrada de dados, inserindo código malicioso em queries SQL para manipular o banco de dados.


Assinale a alternativa que preenche corretamente a lacuna do trecho acima.


A

falha bizantina


B

XSS (Cross-Site Scripting)


C

SQL injection


D

tentativa de phishing


E

SQL insertion

Em 2019, foi descoberta uma vulnerabilidade de segurança no jogo on-line Fortnite. Alterando os parâmetros de endereço de uma antiga página Web da Epic Games, era possível submeter instruções SQL para obter informações do banco de dados acessado pela página.


A esse ataque dá-se o nome de


A

abuso de privilégio.


B

injeção de SQL.


C

escalada de privilégio não autorizada.


D

abuso de SQL.

Em uma instituição de ensino, a equipe de TI foi encarregada de desenvolver um sistema de gerenciamento de registros estudantis. Eles decidiram usar a linguagem SQL para manipular o banco de dados. No entanto, eles estão preocupados com a possibilidade de injeção SQL, um ataque comum que explora vulnerabilidades na entrada de dados. Qual das seguintes estratégias seria eficaz na prevenção de ataques de injeção SQL?


A

Utilizar parâmetros preparados ou consultas parametrizadas.


B

Implementar limites de tamanho de arquivo para todos os uploads.


C

Restringir o acesso ao banco de dados a um único administrador.


D

Usara linguagem de programação Python em vez de SQL.


E

Armazenar todos os dados em texto simples para facilitar a depuração.

Uma aplicação web apresenta uma página de login com dois campos a serem preenchidos: usuário e senha. Um atacante descobriu que é possível realizar login sem conhecer credenciais válidas, bastando preencher o campo de senha exatamente com o seguinte conteúdo:

x' OR '1' = '1

O campo do usuário pode ser preenchido com quaisquer valores que contenham apenas letras e números.

O tipo de ataque que explora essa vulnerabilidade da aplicação é conhecido como


A

path traversal.


B

XSS.


C

SQL injection.


D

ANSI bomb.


E

OS command injection.

A Injeção de SQL, ou SQL Injection, está entre as vulnerabilidades mais críticas em aplicações Web.


De acordo com a OWASP, a melhor maneira de prevenir essa vulnerabilidade é


A

utilizar uma política de senha forte.


B

desativar mensagens de erro detalhadas.


C

usar um firewall de aplicativo web (WAF).


D

usar consultas parametrizadas ou Prepared Statements.


E

restringir o acesso à base de dados apenas ao IP do servidor.

Quando usuários navegam em websites na Internet, cookies podem apresentar riscos de segurança se expostos indevidamente. Uma situação que pode causar o envio indevido de informações de cookies para um atacante ocorre quando um usuário malicioso consegue postar conteúdo JavaScript não filtrado em um site, e esse código é posteriormente executado no navegador de um usuário que o acessa. Esse tipo de ataque é conhecido como


A

Command Injection.


B

SQL Injection.


C

Cross-site scripting (XSS).


D

ataque de ransomware.


E

Path Traversal.

Suspeita-se que um sistema web esteja sujeito a ataques do tipo SQL Injection. Sua página de acesso possui campos para digitação de login e senha e sabe-se que o script responsável por autenticar o usuário o faz por meio de uma única query do tipo SELECT, acessando a tabela de usuários da aplicação e fazendo uma busca por login e senha em texto claro (sem usar hash ou encriptação). Um procedimento que tem o potencial de fornecer acesso ao sistema, sem o conhecimento de um login e senha válidos (considerando que para conseguir acesso a query deva trazer algum resultado), seria digitar o seguinte conteúdo em um dos dois campos (podendo o atacante tentar nos dois):


A

' AND '1' <> '1


B

' OR 'A' <> 'A


C

' OR 'A' = 'A


D

' AND '1' = '1


E

' AND senha <> '

Suponha que um procedimento de autenticação, em SQL, utilize a seguinte consulta e verifique se alguma linha foi retornada:

SELECT * FROM colaboradores

WHERE nomeusuario = 'joao' and (SENHA= 'senhajoao');


A consulta em SQL acima foi manipulada por um atacante e resultou o seguinte comando:

SELECT * FROM colaboradores

WHERE nomeusuario = 'joao' and (SENHA = 'senhajoao' or'11=11');


Assim, de que tipo de ataque se trata?


A

Spoofing.


B

Man-in-the-middle.


C

Injeção de SQL.


D

Pass-the-Hash.


E

DoS.

   
Gerar simulado