🛠️ Manejo de Errores en SQLMap

Resumen

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

Primer paso recomendado

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

Útil para depuración profunda

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

Ideal para ver exactamente qué hace SQLMap

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:

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

La técnica definitiva para depurar SQLMap

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:

🔥 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

Success

Para depurar SQLMap correctamente:

  1. Activa errores (--parse-errors)

  2. Guarda tráfico (-t)

  3. Activa verbosidad (-v 6)

  4. Analiza con Burp (--proxy)