Aprende a ejecutar inyecciones SQL de forma ágil y segura con SQLMap, apoyándote en BurpSuite para capturar la solicitud HTTP de DWA en Kali. Verás cómo identificar el parámetro vulnerable, enumerar bases de datos, extraer tablas y crackear contraseñas con el wordlist por defecto. Todo con un flujo claro para ahorrar tiempo sin perder precisión.
¿Cómo preparar BurpSuite y capturar la solicitud HTTP?
Para automatizar con SQLMap, primero necesitas la solicitud HTTP completa. Aquí entra BurpSuite: su navegador permite interceptar y guardar todo lo necesario, incluida la cookie de sesión.
- Abre el navegador de BurpSuite. Ve a DWA y haz login: admin password.
- Entra a SQL Injection y envía un valor simple, por ejemplo 1.
- Activa la interceptación y recarga. Captura parámetros, ruta, IP del host y la cookie.
- Guarda la solicitud en un archivo: dwA.txt en el escritorio.
- Edita con nano y marca el punto de inyección con un asterisco en el valor 1. Esto indica a SQLMap dónde probar.
Ejemplo de preparación del archivo y edición con asterisco de inyección:
nano dwa.txt
# en el parámetro donde pusiste 1, colócale un * para señalar el punto de inyección
Claves del proceso:
- BurpSuite solo se usa para capturar la solicitud y su cookie de sesión.
- El asterisco guía a SQLMap sobre el parámetro a probar.
- Con -r, SQLMap importa directamente la solicitud guardada.
¿Cómo automatizar con SQLMap para enumerar y extraer datos?
Con el archivo listo, SQLMap detecta el motor y te guía con preguntas interactivas. Puedes saltar pruebas innecesarias cuando ya identificó MySQL y concentrarte en extraer datos.
- Enumerar bases de datos con el archivo capturado.
- Seleccionar una base específica y listar sus tablas.
sqlmap -r dwa.txt -D dwa --tables
- Elegir una tabla y volcar sus datos con dump.
sqlmap -r dwa.txt -D dwa -T users --dump
- SQLMap detecta hashes y ofrece guardarlos y crackearlos automáticamente. Acepta el wordlist por defecto y evita sufijos comunes si buscas rapidez.
Interacciones típicas y buenas decisiones:
sqlmap -r dwa.txt --dump-all
- O usar -d para seleccionar otra base y volcar todas sus tablas:
sqlmap -r dwa.txt -d multi jidae--dump
Resultados que verás:
- Parámetro vulnerable identificado. No hace falta probar otros si uno ya funciona.
- Bases de datos, tablas y contenidos extraídos de forma estructurada.
- Usuarios con avatar, fallos de login, hash del password y su versión crackeada.
¿Qué técnicas, riesgos y buenas prácticas se mencionan?
Se destaca una inyección basada en error: muy rápida para extraer todo. También existen variantes basadas en tiempo y basadas en booleano. Son más lentas, pero SQLMap las automatiza igual.
Aspectos críticos que debes considerar:
- La automatización con SQLMap ahorra mucho tiempo frente al método manual.
- Los datos extraídos pueden incluir usuarios y contraseñas. Con malas prácticas, podrían aparecer datos sensibles como tarjetas de crédito o débito.
- SQLMap puede crackear contraseñas detectadas sin pasos adicionales, usando el wordlist por defecto, lo que agiliza el análisis.
- Puedes iterar: volver a usar --dvs para ver otras bases, --tables para explorar estructuras, y --dump para extraer contenidos.
Buenas prácticas del flujo mostrado:
- Mantén la cookie de sesión en la solicitud para evitar redirecciones al login.
- Marca claramente el punto de inyección con el asterisco.
- Responde de forma estratégica a los prompts para equilibrar velocidad y cobertura.
¿Prefieres hacerlo todo manual por curiosidad geek o automatizar para ir más rápido? Cuéntame en comentarios cuál enfoque te funciona mejor y por qué.