🧾 Descripción del Output de SQLMap
SQLMap muestra gran cantidad de información durante un escaneo. Comprender estos mensajes es crucial para:
-
Identificar el tipo de vulnerabilidad encontrada
-
Saber qué técnicas fueron explotadas
-
Redactar informes profesionales
-
Replicar manualmente la explotación 🧑💻💥
📡 Mensajes del Log y su Significado
📌 El contenido del URL es estable
Log:
target URL content is stable
Indica que las respuestas del servidor no cambian entre solicitudes iguales.
Esto facilita detectar diferencias provocadas por ataques SQLi.
SQLMap también filtra “ruido” si la página es inestable.
🔄 El parámetro parece ser dinámico
Log:
GET parameter 'id' appears to be dynamic
Un parámetro “dinámico” significa que los cambios en su valor alteran la respuesta, lo cual es muy buena señal:
👉 puede estar conectado a la base de datos.
Si es “estático”, podría no estar siendo procesado por el backend.
🧪 El parámetro podría ser inyectable
Log:
heuristic (basic) test shows that GET parameter 'id' might be injectable (possible DBMS: 'MySQL')
SQLMap provoca errores deliberados para detectar SQLi.
Un error MySQL devuelve una pista clara, pero no es prueba definitiva todavía.
⚠ El parámetro podría ser vulnerable a XSS
Log:
heuristic (XSS) test shows that GET parameter 'id' might be vulnerable to cross-site scripting (XSS) attacks
SQLMap incluye un pequeño escáner heurístico de XSS.
Útil para auditorías masivas donde se prueban muchos parámetros.
🏛 Detección del DBMS
Log:
it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes?
SQLMap detecta el motor de base de datos y ofrece reducir pruebas únicamente al DBMS identificado → más velocidad.
🔧 Niveles de riesgo y profundidad
Log:
extend tests for 'MySQL' extending provided level (1) and risk (1) values?
SQLMap pregunta si debe ejecutar todos los payloads avanzados del DBMS detectado.
Estos payloads no se usan por defecto.
🪞 Valores reflejados
Log:
reflective value(s) found and filtering out
SQLMap detecta texto de sus propios payloads reflejado en la respuesta.
Esto puede confundir la automatización, pero SQLMap filtra esa “basura”.
💉 El parámetro parece ser inyectable (confirmación parcial)
Log:
GET parameter 'id' appears to be 'AND boolean-based blind...' injectable
Indica que SQLMap encontró evidencia fuerte, pero aún podría haber falso positivo.
Ejemplo adicional:
--string="luther" → SQLMap detectó una cadena constante que permite distinguir respuestas TRUE/FALSE fácilmente.
⏱ Modelo estadístico para SQLi basado en tiempo
Log:
time-based comparison requires a larger statistical model, please wait...
SQLMap recopila valores de latencia normales para distinguir retrasos provocados por SLEEP().
Esto permite detectar SQLi incluso con mucha latencia.
🔍 Extensión del test UNION
Log:
automatically extending ranges for UNION query injection technique tests...
UNION requiere más peticiones.
SQLMap aumenta el rango si hay evidencia de que la inyección probablemente existe.
📊 La técnica ORDER BY es utilizable
Log:
ORDER BY technique appears to be usable...
Antes de probar UNION, SQLMap usa ORDER BY para determinar rápidamente cuántas columnas necesita.
Reduce el tiempo del escaneo ⏳⚡.
✅ El parámetro es vulnerable
Log:
GET parameter 'id' is vulnerable. Do you want to keep testing the others?
SQLMap confirma vulnerabilidad real, probada, explotable.
Ya se puede:
-
Enumerar DB
-
Dumpear tablas
-
Leer archivos
-
Ejecutar comandos (dependiendo del DBMS y privilegios)
📌 SQLMap identificó puntos de inyección
Log:
sqlmap identified the following injection point(s)...
SQLMap lista cada inyección con:
-
Tipo
-
Técnica
-
Payload exacto usado
Esta sección es prueba final para informes.
🗂 Datos registrados en archivos
Log:
fetched data logged to text files under '~/.sqlmap/output/www.example.com'
SQLMap guarda sesiones para reducir peticiones en futuros escaneos.
Muy útil para auditorías largas.