Text Material Preview
SQL injection O que e um ataque de SQL Injection? A) Um ataque que explora vulnerabilidades em sistemas de autenticacao de usuarios. B) Um ataque que usa comandos SQL maliciosos para manipular ou acessar dados em um banco de dados. C) Um ataque direcionado a criptografia de senhas armazenadas no banco de dados. D) Um ataque que desabilita firewalls em servidores web. Resposta correta: B) Um ataque que usa comandos SQL maliciosos para manipular ou acessar dados em um banco de dados. Explicacao: O SQL Injection ocorre quando um atacante insere ou "injecao" de codigo SQL malicioso em um campo de entrada de dados, geralmente em formularios de sites, para manipular o banco de dados de forma indesejada. Qual a principal consequencia de um ataque de SQL Injection bem-sucedido? A) O roubo de senhas de usuarios. B) O acesso nao autorizado a dados confidenciais ou a manipulacao de informacoes no banco de dados. C) A desativacao do site ou servidor de banco de dados. D) A alteracao da configuracao de rede do servidor. Resposta correta: B) O acesso nao autorizado a dados confidenciais ou a manipulacao de informacoes no banco de dados. Explicacao: O SQL Injection pode permitir que o atacante tenha acesso completo ou parcial aos dados do banco de dados, podendo ler, modificar ou ate excluir informacoes sensiveis. Como o SQL Injection pode ser prevenido em uma aplicacao web? A) Usando criptografia de senhas. B) Validando e sanitizando entradas de usuario. C) Instalando um software antivirus no servidor. D) Bloqueando o trafego HTTP na porta 80. Resposta correta: B) Validando e sanitizando entradas de usuario. Explicacao: A validacao e a sanitizacao de entradas sao fundamentais para prevenir SQL Injection, garantindo que os dados fornecidos pelo usuario nao possam ser usados para modificar consultas SQL de forma maliciosa. Qual e o principal vetor de ataque de um SQL Injection? A) Entradas de usuarios em formularios de sites e parametros de URL. B) Emails contendo links maliciosos. C) Falhas em servidores de e-mail. D) Softwares desatualizados. Resposta correta: A) Entradas de usuarios em formularios de sites e parametros de URL. Explicacao: A maioria dos ataques de SQL Injection ocorre quando um atacante insere comandos SQL em campos de entrada de usuarios, como formularios de login, busca ou ate mesmo parametros na URL. O que significa a tecnica "Union-based SQL Injection"? A) Uma tecnica que usa a funcao UNION SQL para combinar os resultados de duas ou mais consultas SQL. B) Uma tecnica que manipula diretamente os dados do servidor de banco de dados. C) Um tipo de injecao que bloqueia a execucao de SQL no banco de dados. D) Um ataque direcionado ao servidor DNS. Resposta correta: A) Uma tecnica que usa a funcao UNION SQL para combinar os resultados de duas ou mais consultas SQL. Explicacao: A injecao UNION permite que o atacante combine os resultados de sua consulta maliciosa com os resultados de outra consulta legitima, expondo dados adicionais do banco de dados. Em um ataque de SQL Injection, o que ocorre quando o atacante utiliza a tecnica "Blind SQL Injection"? A) O atacante consegue ver as respostas diretamente na tela do navegador. B) O atacante precisa fazer varias tentativas para descobrir informacoes do banco de dados sem obter respostas diretas. C) O ataque e realizado por meio de uma interface grafica, sem precisar usar codigo SQL. D) O atacante apenas pode acessar dados publicos do banco de dados. Resposta correta: B) O atacante precisa fazer varias tentativas para descobrir informacoes do banco de dados sem obter respostas diretas. Explicacao: No Blind SQL Injection, o atacante nao recebe erros ou resultados visiveis, mas e capaz de fazer perguntas logicas ao servidor para determinar se certas condicoes sao verdadeiras ou falsas, ajudando a descobrir dados no banco. Quais sao os sinais de um possivel ataque de SQL Injection em um site? A) O site comeca a redirecionar usuarios para sites de phishing. B) Erros SQL sao exibidos na pagina quando o site falha ao processar uma consulta. C) O site nao responde durante periodos curtos de tempo. D) A pagina de login nao carrega corretamente. Resposta correta: B) Erros SQL sao exibidos na pagina quando o site falha ao processar uma consulta. Explicacao: A exibicao de mensagens de erro SQL no site pode indicar que a aplicacao nao esta tratando adequadamente as entradas de usuario, tornando-a vulneravel a SQL Injection. Qual e a principal diferenca entre SQL Injection "Erro-based" e "Union-based"? A) O tipo "Erro-based" utiliza a funcao UNION do SQL, enquanto o "Union-based" apenas modifica consultas diretamente. B) O "Erro-based" depende de erros do servidor para obter informacoes, enquanto o "Union-based" permite que o atacante combine resultados de varias consultas. C) O "Erro-based" e uma tecnica passiva, enquanto o "Union-based" e mais agressivo. D) Nao ha diferenca significativa entre as duas tecnicas. Resposta correta: B) O "Erro-based" depende de erros do servidor para obter informacoes, enquanto o "Union-based" permite que o atacante combine resultados de varias consultas. Explicacao: O Erro-based SQL Injection explora erros do banco de dados para extrair informacoes sensiveis, enquanto o Union-based permite a combinacao de resultados de consultas diferentes. Por que a utilizacao de comandos preparados (prepared statements) pode evitar o SQL Injection? A) Porque eles criptografam as consultas SQL. B) Porque eles permitem que a consulta seja separada dos dados fornecidos pelo usuario, evitando a insercao de comandos SQL maliciosos. C) Porque eles validam as entradas de dados de forma automatica. D) Porque eles alteram as permissoes de acesso ao banco de dados. Resposta correta: B) Porque eles permitem que a consulta seja separada dos dados fornecidos pelo usuario, evitando a insercao de comandos SQL maliciosos. Explicacao: Os comandos preparados garantem que os dados do usuario sejam tratados como valores e nao como parte do codigo SQL, o que impede a execucao de comandos SQL maliciosos. Qual e o papel do "Sanitization" na prevencao de SQL Injection? A) Transformar os dados fornecidos pelo usuario em dados binarios. B) Eliminar caracteres especiais e comandos SQL da entrada do usuario para garantir que nao possam ser usados para manipular consultas SQL. C) Criptografar todas as entradas dos usuarios antes de serem enviadas ao banco de dados. D) Validar que o usuario tenha um endereco de email valido. Resposta correta: B) Eliminar caracteres especiais e comandos SQL da entrada do usuario para garantir que nao possam ser usados para manipular consultas SQL. Explicacao: A sanitizacao das entradas ajuda a remover caracteres que poderiam ser usados para manipular uma consulta SQL, como apostrofos, aspas ou pontos e virgulas. Qual e a tecnica de SQL Injection onde o atacante altera os parametros de uma URL para inserir codigo SQL malicioso? A) URL Encoding. B) Injecao por parametro GET. C) Cross-site Scripting (XSS). D) Cookie Injection. Resposta correta: B) Injecao por parametro GET. Explicacao: A injecao por parametro GET ocorre quando o atacante manipula parametros passados na URL para injetar codigo SQL malicioso, como em campos de pesquisa ou filtragem de resultados. Quais sao as melhores praticas para proteger uma aplicacao web contra SQL Injection? A) Usar apenas formularios simples sem qualquer validacao de entrada. B) Utilizar autenticacao de dois fatores em todas as paginas. C) Usar Prepared Statements e Stored Procedures, validar e sanitizar entradas de usuario. D) Impedir qualquer tipo de entrada de dados do usuario. Resposta correta: C) Usar Prepared Statements e Stored Procedures, validar e sanitizar entradas de usuario. Explicacao: A combinacao de praticas como o uso de Prepared Statements e Stored Procedures, juntamente com a validacao e sanitizacao das entradas do usuario, e a melhor maneira de prevenir ataquesde SQL Injection. Como as falhas de seguranca no servidor de banco de dados podem contribuir para ataques de SQL Injection? A) Elas permitem que os atacantes explorem as permissoes de administrador. B) Elas causam a perda de dados durante o ataque. C) Elas possibilitam que o atacante acesse diretamente o sistema de arquivos do servidor. D) Elas tornam mais dificil a execucao de comandos SQL complexos. Resposta correta: A) Elas permitem que os atacantes explorem as permissoes de administrador. Explicacao: Falhas no servidor de banco de dados, como configuracoes inadequadas de permissoes, podem permitir que um atacante execute