SóProvas


ID
2803219
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Softwares desenvolvidos para a Web podem ter diversas vulnerabilidades e cada uma delas pode ser explorada com uma técnica específica. Sendo o ataque bem-sucedido, o atacante tem o controle do sistema. A respeito de características de ataques em software web, julgue o próximo item.


O ataque conhecido por blind SQL injection tem por característica a exploração de perguntas ao banco de dados, as quais retornam verdadeiro ou falso; conforme a resposta da aplicação, o atacante consegue identificar de onde os dados podem ser extraídos do banco, por falhas de programação na aplicação.

Alternativas
Comentários
  • Blind SQL (Structured Query Language) injection is a type of SQL Injection attack that asks the database true or false questions and determines the answer based on the applications response. This attack is often used when the web application is configured to show generic error messages, but has not mitigated the code that is vulnerable to SQL injection.

    When an attacker exploits SQL injection, sometimes the web application displays error messages from the database complaining that the SQL Query's syntax is incorrect. Blind SQL injection is nearly identical to normal SQL Injection, the only difference being the way the data is retrieved from the database. When the database does not output data to the web page, an attacker is forced to steal data by asking the database a series of true or false questions. This makes exploiting the SQL Injection vulnerability more difficult, but not impossible. 

    https://www.owasp.org/index.php/Blind_SQL_Injection

  • GAB: CERTO

    O Blind SQL Injection, ou Injeção de SQL as Cegas é o que separa meninos de homens na área de segurança da informação e Pentests de ambientes Web, pois o melhor ferramental que você pode ter em mãos é o seu próprio conhecimento de SQL e servidores web para extrair dados a força do servidor.

    Em uma linguagem mais precisa, os ataques de SQL Injection normais, quando enviamos os parâmetros de consulta para a base de dados para extrair informação, nos retornam erros e informações pertinentes na tela, o Blind SQL Injection não nos retorna nada. A partir disso só nos resta interpretar valores de lógica booleana (True e False)

  • GABARITO: (C)

    Primeiramente, um ataque “SQL injection”, consiste numa “injeção” de consulta SQL desde o cliente para a aplicação. Uma resposta a esse ataque permite a leitura ou modificação de dados na base, a execução de operações etc. Desse gênero, temos a espécie “blind SQL injection”, que faz consultas com respostas booleanas (verdadeiro ou falso) e, através das respostas, é possível identificar o local dos dados.

    O uso desse ataque acontece quando uma injeção SQL pura não retorna informações ou erros (por exemplo, quando o administrador desativa parâmetros como SHOW_ERRORS ou SHOW_WARNINGS. Neste caso, o agressor lança mão da espécie “blind”, usando a estrutura explicada acima para explorar o acesso, ou seja, se a página não retornou nada (falso) é porque há um erro. Caso retorne algo (verdadeiro) é porque a consulta foi bem sucedida e gerou resultados.

    Fonte: Simulado Caveira

  • Ataques com injeção SQL:

    Um usuário, por meio de ataques com injeção SQL, é possível obter qualquer tipo de dado sigiloso mantido no banco de dados de um computador servidor. Dependendo da versão do banco de dados, também é possível inserir comandos maliciosos e conseguir permissão total (acesso root) à máquina em que o banco está em execução.

    Injeção "Cega" de SQL

    Método assemelha-se ao anterior, a diferença é que nesse caso a página possui uma certa segurança e o invasor não visualiza os dados da base de dados através da página web. O invasor descobre os dados desejados de 1 em 1 caractere, utilizando a função SUBSTRING do SQL em conjunto com uma verificação booliana.

    Injeção Duplamente "Cega" de SQL

    Enquanto no método anterior o invasor sabe se sua verificação booleana é verdadeira ou falsa pelo carregamento ou não da página, nesse método chamado de duplamente cego o invasor faz uma comparação de tempo de carregamento de página para saber se sua comparação que ele está enviando ao banco de dados (via método GET, por exemplo) é verdadeira ou falsa.

    fonte: wikipedia

  • Injeção de Blind SQL (Structured Query Language) é um tipo de ataque de SQL Injection que efetua perguntas ao banco de dados que podem ser respondidas como verdadeiras ou falsas, e determina a resposta com base na resposta do aplicativo. Esse ataque geralmente é usado quando o aplicativo da Web é configurado para mostrar mensagens de erro genéricas, mas não descartou o código que é vulnerável à injeção de SQL. 

    Quando um invasor explora a injeção SQL, às vezes o aplicativo da Web exibe mensagens de erro do banco de dados reclamando que a sintaxe da Consulta SQL está incorreta. Blind SQL Injection é quase idêntico ao SQL Injection normal, a única diferença é a forma como os dados são recuperados do banco de dados. Quando o banco de dados não envia dados para a página da Web, o invasor consegue roubar dados solicitando ao banco de dados uma série de perguntas que podem ser respondidas como verdadeiras ou falsas. 

    Como vemos no texto acima, de fato, o ataque consiste no uso de perguntas ao banco de dados cujas respostas podem ser verdadeiro ou falso, gerando páginas de erro genéricas (o que não deveria ocorrer), que permitem ao atacante obter informações devido a falha na programaçãonão tratando adequadamente código vulnerável ao ataque SQL Injection.

     

    CERTO.

    fonte tec