SQLmap Tutorial

Executar você mesmo o sqlmap não é difícil.
Este tutorial vai levá-lo do noob para o ninja com esta poderosa ferramenta de teste de injeção sql.

Sqlmap é uma ferramenta baseada em python, o que significa que ele normalmente será executado em qualquer sistema com python. No entanto, nós gostamos do Linux e especificamente do Ubuntu, ele simplesmente torna mais fácil de fazer as coisas. O Python já vem instalado no Ubuntu. Esta é a mesma ferramenta que usamos em nosso site online sql injection test.

Para começar com o sqlmap, é uma questão de baixar a ferramenta, descompactá-la e executar o comando com as opções necessárias. Como pode haver usuários do Windows entre vocês, primeiro vou começar com como fazer uma instalação do Ubuntu e executá-la. É fácil começar em um sistema Ubuntu Linux, mesmo que o pensamento do Linux envie espasmos de medo tremendo. Quem sabe, você pode até gostar.

Conteúdo:
– Instalar SQLmap
– HTTP GET
– Ficando bloqueado
– Tabelas de banco de dados
– Descarregar os dados
– Dicas
– Saída Verbose
– Credenciais do banco de dados
– Credenciais da conexão DB

>

>

>

>

>

Instalar SQLmap

>

Passo 1: Obter um sistema operacional baseado em Linux

Se você vai executar SQLmap no Windows com Python, certifique-se de ter o Python instalado, e pule para o próximo passo. Caso contrário, ligue o seu sistema Linux. Ou instale uma máquina virtual Linux (Ubuntu ou Kali recomendado) no Windows (Virtualbox / VMware / Parrallels) ou inicialize seu desktop Linux.

Se você executar o Microsoft Windows como seu sistema operacional principal, é conveniente e simples executar uma instalação do Ubuntu Linux (ou Kali Linux) em uma máquina virtual. Você pode então jogar com sqlmap, nmap, nikto e openvas junto com uma centena de outras poderosas ferramentas de segurança de código aberto.

Passo 2: Instalação SQLmap

Python está pré-instalado no Ubuntu, então tudo que você precisa fazer é clonar o repositório mais recente do git e iniciar seus testes.

Altere para o diretório e execute o script python para garantir que tudo pareça bom.

Se você não vir algo como a saída acima, certifique-se que o python está funcionando (tente python -V) para verificar a versão e você está no local certo. Agora vamos avançar nesta foi a parte fácil.

Para obter uma lista completa das opções disponíveis execute python sqlmap.py -h.

Running SQLmap

Simple HTTP GET based test

Neste teste simples usaremos uma requisição padrão HTTP GET baseada contra uma URI com um parâmetro (?id=5). Isto testará diferentes métodos de injeção SQL contra o parâmetro id parâmetro.

python sqlmap.py -u 'http://mytestsite.com/page.php?id=5'

Nos resultados podemos ver os diferentes métodos usados contra o parâmetro.

Ficar bloqueado pelo Web Application Firewall – WAF

Teste usando um agente de usuário diferente do padrão sqlmap com o parâmetro --randomagent.

Retrieve the Database Tables

SQLmap pode ser usado para testar e explorar SQL Injection, fazendo coisas como extrair dados de bancos de dados, atualizar tabelas e até mesmo popping shells em hosts remotos se todos os patos estiverem em linha.

Let’s recuperar as tabelas do banco de dados usando a vulnerabilidade SQL Injection que confirmamos acima. Como você verá na saída abaixo, nós podemos continuar testando contra o alvo sem ter que re-testar a vulnerabilidade. SQLmap usa informações que conhece sobre o site para explorar ainda mais a base de dados alvo.

Para recuperar os dados, basta adicionar um parâmetro ao comando anterior. Ao adicionar --tables podemos tentar recuperar todas as tabelas.

Dump the data

Para obter dados, simplesmente estendemos o nosso comando. Adicionando -T users vamos focar na tabela de usuários onde poderemos obter algumas credenciais. Adicionar --dump irá dizer ao SQLmap para pegar todos os dados da tabela de usuários, primeiro as colunas serão numeradas e depois os dados serão despejados das colunas.

SQLmap Tips – Go ninja on your SQL Injection Testing

Verbose output

Quando se testa SQL Injection, muitas vezes é necessário escavar manualmente as requisições para determinar problemas com o teste ou para confirmar ou ainda explorar mais uma injeção descoberta. Ser capaz de aumentar a verbosidade da sua saída do SQLmap ajudará com este teste.

Ao aumentar a verbosidade para 4 você pode obter as requisições HTTP, com 5 você também verá os cabeçalhos de resposta HTTP e 6 mostrará a resposta HTTP completa. Obviamente, isto pode ficar super ruidoso, mas às vezes você precisa ver o que está acontecendo.

Credenciais de Banco de Dados?

Esta dica útil permite que você se conecte diretamente ao banco de dados e despeje dados como usuários, bancos de dados ou tabelas. O bom disso é que você não precisa se lembrar da sintaxe SQL para o banco de dados ou ter um cliente instalado. SQLmap fará o trabalho pesado atuando como um cliente de banco de dados para despejar dados.

DB Connection strings:

MySQL, Oracle, Microsoft SQL Server, PostgreSQL
DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME
SQLite, Microsoft Access
DBMS://DATABASE_FILEPATH

Popping Shells and More

SQLmap tem um número ridículo de opções, e é uma ferramenta incrível para se tornar um com um banco de dados. Além de popping shells no host alvo, você pode enviar pedidos através do tor, encontrar injeções nas respostas da página automaticamente, sites spider e, é claro, realizar testes baseados em HTTP POST. Estes exemplos apenas arranham a superfície. Encontre mais exemplos na excelente página wiki github.

Injeção doSQL continua sendo o alvo favorito dos atacantes.

Utilize nosso SQL Injection scanner para testar parâmetros injetáveis em um URI web.

Teste de nível seguinte com Security Vulnerability Scanners avançados.

Ferramentas confiáveis. Hospedado para fácil acesso.

Deixe uma resposta

O seu endereço de email não será publicado.