CyberCheatsheets

Sqlmap en apps rotas y WAF

Tamper, blind injection y cuándo dejar de automatizar en tests web.

Publicado 2 min de lectura

El parámetro devolvió 500 con una comilla. Sqlmap corrió veinte minutos, ModSecurity bloqueó, y declararon "sin SQLi."

Mientras tanto la query apilada en el export admin esperaba en un POST que nadie fuzzó porque el WAF solo miraba GET.

La cheat sheet de sqlmap cubre flags. El WAF y la app deciden si ayudan o te rate-limitan. Un 500 en quote no es SQLi automático. Confirma a mano, luego automatiza puntual. Sqlmap a todo el sitio es ruido SOC.

Export Burp con sesión. Sin cookie es el false negative clásico.

Confirma a mano

' OR '1'='1
' AND '1'='2
'; SELECT SLEEP(5)--
sqlmap -r request.txt -p id --batch --level 3 --risk 2

request.txt desde Burp con sesión completa.

Tamper en bucle

sqlmap -r request.txt --tamper=space2comment,between --random-agent --delay=1

Misma página de bloqueo siempre: cambia vector o para.

Segundo orden

Mapea entrada, almacenamiento y request disparador. Tedioso. Por eso se pierde.

Segundo orden en detalle

El payload guardado en registro o perfil se ejecuta en informe o panel admin horas después. Sqlmap no descubre ese arco solo. Necesitas el request secundario en request.txt apuntando al sink correcto.

Cuándo parar

Parametrización clara, WAF 100% con misma página de bloqueo tras tres tamper, o shell por otro vector. Documenta tamper, level, risk, tiempo. Los clientes preguntan en el informe.

Second-order: input guardado, ejecución después en panel admin. Sqlmap no adivina el flujo. Tú mapeas el segundo request. Por eso se pierde en tests internos.

FAQ

¿Sqlmap como primer paso en cada parámetro?

Casi nunca. Una comilla manual o timing confirma la pista antes del volumen. Sqlmap es ruidoso y fácil de loguear.

¿Qué tamper probar detrás de WAF?

No hay uno universal. space2comment y between son inicio habitual. Itera cuando cambie la respuesta.

¿Cuándo perseguir SQLi de segundo orden?

Cuando el input se guarda y ejecuta después: registro, perfil, logs. Sqlmap no adivina el flujo sin tu mapa manual.

FAQ

¿Sqlmap como primer paso en cada parámetro?
Casi nunca. Una comilla manual o timing confirma la pista antes del volumen. Sqlmap es ruidoso y fácil de loguear.
¿Qué tamper probar detrás de WAF?
No hay uno universal. space2comment y between son inicio habitual. Itera cuando cambie la respuesta.
¿Cuándo perseguir SQLi de segundo orden?
Cuando el input se guarda y ejecuta después: registro, perfil, logs. Sqlmap no adivina el flujo sin tu mapa manual.

Artículos relacionados