Parte: 4 — Seguridad de aplicaciones web · Fuente: sqlmap Documentation / The Web Application Hacker's Handbook ⏱️ Duración estimada: 100 min · Nivel: Intermedio
Automatizar la detección y explotación de SQLi con sqlmap, la herramienta de referencia. Aprenderás a usarla con criterio: alimentarla con peticiones reales de Burp, ajustar niveles/riesgos y extraer datos, sin convertirla en un botón mágico que dispara a ciegas.
⚠️ Ética: sqlmap solo contra objetivos propios (DVWA, Juice Shop) o con autorización escrita. Un escaneo de sqlmap es intrusivo y puede alterar datos.
Al finalizar, el alumno podrá:
-r).--level, --risk y --technique.| # | Tema | Por qué importa |
|---|---|---|
| 1 | Uso básico y -u / -r |
Punto de partida correcto |
| 2 | level y risk | Controlan exhaustividad e intrusividad |
| 3 | Enumeración (--dbs, --tables) |
Descubrir el objetivo |
| 4 | Volcado (--dump) |
Extracción de datos |
| 5 | Autenticación y cookies | Testear tras el login |
| 6 | Tamper scripts | Evasión de filtros/WAF |
| 7 | --os-shell y peligros |
Impacto máximo y responsabilidad |
--level (1–5): cuántos vectores prueba (parámetros, cabeceras). Característica: más nivel = más cobertura y ruido.--risk (1–3): cuán agresivos son los payloads. Característica: riesgo alto puede modificar datos.--technique.--dump: exfiltra el contenido de tablas. Característica: guarda los datos localmente en CSV..txt.sudo apt install sqlmap # o: git clone https://github.com/sqlmapproject/sqlmap
sqlmap --version
⚠️ Solo contra DVWA/Juice Shop propios.
req.txt (clic derecho → Copy to file).sqlmap -r req.txt -p id --batch
sqlmap -r req.txt -p id --dbs
sqlmap -r req.txt -p id -D dvwa --tables
sqlmap -r req.txt -p id -D dvwa -T users --columns
sqlmap -r req.txt -p id -D dvwa -T users -C user,password --dump
--cookie) para DVWA nivel Medium.--level=3 --risk=2) y compara detecciones.--banner.--technique=BT vs. la selección automática.--tamper=space2comment contra un filtro que bloquea espacios.--where.--os-shell es peligroso y cuándo (no) usarlo.Con una única request de Burp, usa sqlmap para volcar la tabla de usuarios de DVWA y luego reproduce manualmente uno de los payloads que sqlmap generó, entendiéndolo. Criterio de aceptación: entregas el CSV volcado, el comando exacto y una explicación de un payload de sqlmap (no basta con "funcionó").
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| "all tested parameters do not appear to be injectable" | Sube --level/--risk o revisa el parámetro correcto |
| No respeta la sesión | Falta --cookie o el token caducó |
| Escaneo eterno | Limita --technique y usa --batch |
Datos corruptos por --risk=3 |
Payloads stacked; baja el riesgo |
| Bloqueado por WAF | Prueba tamper scripts adecuados, con permiso |
❓ ¿sqlmap sustituye al conocimiento manual? No. Automatiza lo tedioso, pero necesitas entender la SQLi para dirigirla, validar resultados y evitar destrozos.
❓ ¿Por qué empezar con la request de Burp? Porque incluye cabeceras, cookies y cuerpo exactos; sqlmap testea todo el contexto real.
❓ ¿Es seguro usar --dump en producción?
No sin autorización. Extrae datos reales y puede violar privacidad y ley. Solo en labs o con permiso escrito.
Clase 092 — Inyección SQL avanzada y ciega (blind)