sqlmap
sqlmap automatiza la detección y explotación de inyección SQL (ver web, el área de web cubre SQLi en detalle). Prueba automáticamente múltiples técnicas, extrae datos, e incluso puede lograr ejecución de comandos en el SGBD. Es potente, pero conviene entender la SQLi “a mano” para usarlo bien.
Uso básico
Sección titulada «Uso básico»# desde una URL con parámetrosqlmap -u 'https://host/item?id=1' --batch# desde una petición capturada en Burp (lo más fiable: respeta cookies/headers)sqlmap -r request.txt --batch# POST, cookie, cabecera concretossqlmap -u host --data='id=1' --cookie='sess=...' -p idFlujo de explotación
Sección titulada «Flujo de explotación»sqlmap -r req.txt --dbs # enumerar bases de datossqlmap -r req.txt -D tienda --tables # tablas de una BDsqlmap -r req.txt -D tienda -T users --columnssqlmap -r req.txt -D tienda -T users --dump # volcar datos (¡solo lo autorizado!)sqlmap -r req.txt --current-user --is-dba # usuario actual y si es DBAOpciones clave
Sección titulada «Opciones clave»-p param parámetro a probar (o deja que sqlmap los detecte)--level 1-5 amplía dónde busca (cabeceras, cookies...) ; --risk 1-3 técnicas más agresivas--technique B(lind) E(rror) U(nion) S(tacked) T(ime) Q(uery)--dbms mysql forzar el motor si lo conoces (más rápido)--tamper scripts para evadir WAF (ver web-wafbypass) -> con cabeza--batch no preguntar (usa valores por defecto)Más allá de extraer datos
Sección titulada «Más allá de extraer datos»--os-shell intentar shell de SO (si el SGBD/privilegios lo permiten)--file-read / --file-write leer/escribir ficheros en el servidor--passwords volcar y crackear hashes de usuarios del SGBD (ver tool-hashcat)# estas acciones son de ALTO impacto -> solo con autorización explícita y acotando el dañoBuenas prácticas
Sección titulada «Buenas prácticas»- pasar la petición de Burp (-r) es más fiable que construir la URL a mano- empezar suave (--level/--risk bajos) y subir si hace falta; no masificar- entender la SQLi manualmente (ver web) para interpretar y guiar a sqlmap- en bug bounty: no volcar datos reales de usuarios -> PoC mínima (bb-scope)Blue Team / uso
Sección titulada «Blue Team / uso»- Pasar la petición de Burp (
-r) es la forma más fiable (respeta sesión/cabeceras). - Subir
--level/--risksolo si hace falta;--tamperpara WAF (Evasión de WAF) con cabeza. - Acciones de alto impacto (
--os-shell,--dump) solo autorizadas y con PoC mínima (Leer el scope & reglas). - Entender la SQLi a mano (área Web) es clave para usar sqlmap con criterio.
Trucos y errores comunes
Sección titulada «Trucos y errores comunes»- Dale una petición real (
-r request.txtdesde Burp) en vez de montar la URL a mano; así captura cookies y cabeceras. - Error típico: ir directo a
--dumpde todo; empieza con--dbs/--tablesy limita; respeta el scope y el impacto demostrado. - Ajusta
--level/--riskcon cabeza (risk alto puede modificar datos); usa--techniquey--tampercontra WAF. - Marca el parámetro con
*o-p; para APIs/JSON usa el flag adecuado y verifica manualmente antes de fiarte.
Checklist de prueba
Sección titulada «Checklist de prueba»- Capturar la petición vulnerable en Burp y usar -r
- Detectar la inyección (técnica y motor)
- Enumerar dbs/tablas/columnas progresivamente
- —level/—risk ajustados; —tamper si hay WAF (con cabeza)
- PoC mínima: no volcar datos reales de usuarios (Leer el scope & reglas)
- Valorar impacto (os-shell/file-read) solo si autorizado
- Documentar para el reporte (Escribir un buen reporte)