
Mongo Vulnub Lab...Intenta hackearlo.....!
Este desafío de Captura la Bandera (CTF) está basado en CVE-2024-53900, una vulnerabilidad en Mongoose que permite la Ejecución Remota de Código (RCE) debido al uso incorrecto del operador $where en consultas MongoDB.
¡Tu objetivo es explotar esta vulnerabilidad y recuperar la bandera oculta dentro de la aplicación!
Asegúrate de tener Node.js instalado, luego ejecuta:
npm install
Instala MongoDB y asegúrate de que esté en ejecución.
Crea un archivo .env en el directorio raíz con lo siguiente:
MONGO_URI=mongodb://localhost:27017/ctf_db
Ejecuta el servidor Express vulnerable:
node server.js
El servidor se iniciará en: http://localhost:3000
Tu objetivo es omitir la autenticación y extraer la bandera del endpoint vulnerable.
POST /login
La aplicación utiliza una consulta insegura $where de MongoDB, lo que la hace vulnerable a inyección NoSQL y RCE.
$where.│── public/ Activos del frontend
│ ├── index.html Interfaz de usuario del desafío CTF
│ ├── style.css Estilos para el desafío
│ └── script.js JavaScript para la solicitud de inicio de sesión
│── .env Variables de entorno (URI de MongoDB)
│── server.js Servidor Express.js vulnerable
│── package.json Dependencias y scripts
│── package-lock.json Archivo de bloqueo de dependencias
└── README.md Guía del desafío (este archivo)
Si explotas exitosamente la vulnerabilidad, obtendrás la respuesta:
¡Inicio de sesión exitoso! Aquí está tu bandera: FLAG{*****_***_****}