🛠️ Manejo de Errores en SQLMap
SQLMap puede fallar por errores de configuración, parámetros mal pasados, cookies faltantes o problemas en el servidor.
Esta sección explica cómo detectar, analizar y corregir errores usando las opciones internas de SQLMap.
🧩 Mostrar Errores del DBMS — --parse-errors
Habilita --parse-errors para ver directamente los errores SQL del servidor.
Ejemplo de salida:
[WARNING] parsed DBMS error message: 'SQLSTATE[42000]: Syntax error or access violation...'
[INFO] heuristic test shows that GET parameter 'id' might be injectable
💡 Esto permite identificar rápidamente si el problema es de la consulta, del payload o del lado del servidor.
📦 Guardar el Tráfico HTTP — -t
Guarda TODAS las solicitudes y respuestas en un archivo externo.
sqlmap -u "http://www.target.com/vuln.php?id=1" --batch -t /tmp/traffic.txt
Contenido generado:
HTTP request [#1]:
GET /?id=1 HTTP/1.1
Host: www.example.com
User-agent: sqlmap/1.4.9
...
HTTP response [#1] (200 OK):
Server: Apache
Content-Type: text/html
...
🔍 Ahora puedes revisar manualmente el tráfico para detectar fallos en headers, cookies, parámetros o payloads.
🔊 Salida Verbosa — -v
El nivel recomendado para debug profundo es: -v 6
sqlmap -u "http://www.target.com/vuln.php?id=1" -v 6 --batch
Este nivel muestra:
-
Configuración interna
-
Headers usados
-
Requests y responses completas
-
Fallos internos
-
Errores del servidor
-
Flujo paso a paso
Ejemplo:
[DEBUG] setting HTTP User-Agent header [TRAFFIC OUT] HTTP request [#1] [TRAFFIC IN] HTTP response [#1]
👀 Perfecto para entender qué está ocurriendo debajo del capó.
🕵️♂️ Usar un Proxy (BurpSuite) — --proxy
Envía todo el tráfico a través de Burp para analizarlo visualmente.
sqlmap -u "http://www.target.com/vuln.php?id=1" --proxy="http://127.0.0.1:8080"
Esto permite:
-
Inspeccionar cada request
-
Repetir solicitudes con Repeater
-
Modificar parámetros
-
Capturar cookies
-
Comparar respuestas
-
Analizar payloads en bruto
🔥 Especialmente útil cuando SQLMap no detecta la inyección y necesitas revisar manualmente.
📌 Resumen de Opciones Clave
| Opción | Función |
|---|---|
--parse-errors |
Muestra errores SQL del servidor |
-t archivo.txt |
Guarda tráfico HTTP |
-v 6 |
Verbosidad máxima |
--proxy http://IP:PORT |
Envía tráfico por Burp u otro proxy |
🚀 Conclusión
Para depurar SQLMap correctamente:
-
Activa errores (
--parse-errors) -
Guarda tráfico (
-t) -
Activa verbosidad (
-v 6) -
Analiza con Burp (
--proxy)