Page cover

💉SQLMap - Skills Assessment

Se le otorga acceso a una aplicación web con mecanismos de protección básicos. Utilice las habilidades aprendidas en este módulo para encontrar la vulnerabilidad SQLi con SQLMap y explotarla. Para completar este módulo, busque la flag y envíela.

Objetivo: 94.237.54.205:48460

Acceso inicial

Al acceder a la URL parece un ecommerce de venta de zapatos.

Descripción general

El objetivo de esta prueba de penetración es identificar y explotar posibles vulnerabilidades en el sitio web de comercio electrónico MiniShop. El objetivo principal es descubrir vulnerabilidades de inyección SQL en los distintos campos de entrada del sitio web mediante el uso de SQLMap.

Metodología

1. Análisis inicial

Al acceder al sitio web de MiniShop, se observó que existen numerosas áreas que permiten la entrada de datos por parte del usuario. Debido a la prevalencia de la entrada de datos por parte del usuario, la primera hipótesis fue una posible vulnerabilidad de inyección SQL.

2. Inspección a través de herramientas para desarrolladores y BurpSuite

Se realizó un examen exhaustivo de las solicitudes HTTP GET y POST utilizando tanto el modo de desarrollador del sitio web como la herramienta BurpSuite. Se examinó el formulario de contacto en busca de posibles puntos de inyección SQL, pero la ausencia de variables como ?id=1 o ?uid=1 etc descartó vulnerabilidades inmediatas.

3. Investigación de la sección Shop

Se detectaron anomalías en la sección de Compras, donde se encontró un artículo preexistente en el carrito de compras. Sin embargo, este comportamiento podría atribuirse a un escenario de HackTheBox. Un análisis posterior no reveló hallazgos significativos en las solicitudes HTTP relacionadas con los formularios de contacto y detalles de envío.

4. Identificación de inyección SQL mediante solicitud POST

Al agregar un nuevo artículo al carrito de compras, se descubrió una solicitud POST a través de BurpSuite.

Fases del descubrimiento de SQLi:

  1. Añadir un artículo al carrito

  2. En Burpsuite observamos el parámetro id vulnerable

  3. Guardamos la solicitud para escanear con burpsuite

La solicitud se guardó como un archivo con el nombre post1. Como sabemos que esta web tiene ciertas medidas de protección habilitadas, vamos a usar la flag --tamper=between para intentar hacer el bypass:

Encontramos que es vulnerable a SQLi con el payload:

Vamos a explotarlo.

5. Explotación de SQLi

Enumeración básica de usuario, base de datos y DBA

Como vemos obtenemos información relevante sobre el usuario, la base de datos y si tiene permisos DBA:

Y conseguimos hacer el volcado de la base de datos, obteniendo la flag correctamente! 🏆

Última actualización

¿Te fue útil?