SQLmap: Automatizando ataques SQL Injection como un profesional

SQLmap: Automatizando ataques SQL Injection como un profesional

Publicado el 19 de julio de 2025

SQLmap es una herramienta de código abierto usada para detectar y explotar vulnerabilidades de inyección SQL (SQLi) en aplicaciones web. Es altamente automatizada, poderosa y forma parte del arsenal de cualquier pentester web serio.


🧠 ¿Qué es SQLmap?

SQLmap automatiza el proceso de detección, explotación y toma de control de bases de datos a través de vulnerabilidades de inyección SQL. Soporta múltiples motores de bases de datos y ofrece opciones avanzadas de extracción de datos, escritura de archivos y toma de control del sistema operativo.


🎯 ¿Para qué sirve?

  • Detectar vulnerabilidades de tipo SQL Injection (error-based, union-based, time-based, boolean-based, etc.).
  • Enumerar bases de datos, tablas y columnas.
  • Robar datos (usuarios, contraseñas, correos, etc.).
  • Escalar privilegios en el SGBD.
  • Leer y escribir archivos del sistema.
  • Obtener shells o conexiones reversas.

🔍 Tipos de inyecciones soportadas

Tipo de InyecciónDescripción
Boolean-basedDevuelve verdadero/falso en base a una condición.
Time-basedUsa tiempos de espera (e.g. SLEEP) para inferir datos.
Error-basedSe basa en mensajes de error del motor SQL.
UNION queryCombina resultados usando UNION SELECT.
Stacked queriesEjecuta múltiples consultas con ;.
Out-of-Band (OOB)Usa canales externos (DNS, HTTP) para extracción de datos.

🛠️ Instalación

En Kali Linux ya viene preinstalado. Si usás otro sistema:

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap
cd sqlmap
python3 sqlmap.py -h

🚀 Ejemplos de uso

1. Detectar vulnerabilidad básica

sqlmap -u "http://target.com/product.php?id=1" --batch

2. Enumerar bases de datos

sqlmap -u "http://target.com/item.php?id=5" --dbs

3. Extraer datos de una tabla específica

sqlmap -u "http://target.com/user.php?id=2" -D usuarios -T credenciales --dump

4. Bypass de WAF y filtros

sqlmap -u "http://target.com/search.php?q=test" --tamper=space2comment

5. Obtener una shell

sqlmap -u "http://target.com/page.php?id=3" --os-shell

⚙️ Flags y opciones útiles

FlagDescripción
--batchEjecuta sin hacer preguntas (modo automático).
--dbsEnumera bases de datos.
--tablesEnumera tablas.
--columnsEnumera columnas.
--dumpVuelca datos.
--level y --riskAjusta agresividad del ataque.
--tamperUsa scripts para evadir WAFs.
--threadsUsa múltiples hilos.

⚠️ Legalidad y ética

El uso de SQLmap está 100% prohibido en sistemas que no te pertenecen o donde no tenés permiso explícito. Es legal únicamente en:

  • Entornos de pruebas.
  • Laboratorios como Hack The Box, TryHackMe o DVWA.
  • Auditorías profesionales con contrato firmado.

Atacar sitios sin permiso es delito.


✅ Ventajas

  • Extremadamente potente.
  • Automatización completa.
  • Gran soporte para motores SQL (MySQL, PostgreSQL, MSSQL, Oracle, SQLite, etc).
  • Soporte para múltiples técnicas evasivas (tamper scripts).

❌ Desventajas

  • Puede generar muchas peticiones (detectable).
  • Algunas WAFs lo bloquean fácilmente si no se configura bien.
  • Requiere experiencia para aprovechar todo su potencial.

📚 Recursos recomendados


🧠 Nota: SQLmap no es para "hackear sitios". Es una herramienta de auditoría legal y profesional. Aprender a usarla correctamente te da una gran ventaja para detectar y prevenir vulnerabilidades antes que lo hagan los atacantes.

Artículos recomendados

Cargando recomendaciones...