Resumen

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.
sqlmap -r dwa.txt --dvs
  • 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:

  • Sí a procesar el valor detectado como SQL.
  • Sí a saltar pruebas de otros motores si ya identificó MySQL.
  • No a incluir todas las pruebas de MySQL si ya halló la vulnerabilidad.
  • Sí a guardar hashes y crackear con el wordlist por defecto.
  • No a sufijos comunes si quieres velocidad.

  • Extraerlo todo cuando conviene:

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é.

      Cómo SQLMap automatiza inyecciones SQL