
Mongo Vulnub Lab...Prova ad hackerarlo.....!
CTF Challenge - Mongoose RCE (CVE-2024-53900)
Panoramica della sfida
Questa sfida Capture The Flag (CTF) si basa su CVE-2024-53900, una vulnerabilità in Mongoose che consente l'esecuzione remota di codice (RCE) a causa dell'uso improprio dell'operatore $where nelle query MongoDB.
Il tuo obiettivo è sfruttare questa vulnerabilità e recuperare la flag nascosta all'interno dell'applicazione!
Istruzioni di configurazione
1 Installa le dipendenze Assicurati di avere Node.js installato, poi esegui:
npm install
2 Configura MongoDB Installa MongoDB e assicurati che sia in esecuzione. Crea un file .env nella directory principale con il seguente contenuto:
MONGO_URI=mongodb://localhost:27017/ctf_db
3 Avvia il server Esegui il server Express vulnerabile:
node server.js
Il server si avvierà all'indirizzo: http://localhost:3000
Obiettivo della sfida
Il tuo obiettivo è aggirare l'autenticazione ed estrarre la flag dall'endpoint vulnerabile.
Endpoint vulnerabile:
POST /login
L'applicazione utilizza una query MongoDB $where insicura, rendendola vulnerabile all'iniezione NoSQL e a RCE.
Suggerimento per lo sfruttamento:
Prova payload di iniezione NoSQL per manipolare la query.
Inietta codice JavaScript nella condizione $where.
Recupera la flag nascosta nella risposta.
Struttura della directory
│── public/ Frontend assets
│ ├── index.html CTF challenge UI
│ ├── style.css Styling for the challenge
│ └── script.js JavaScript for login request
│── .env Environment variables (MongoDB URI)
│── server.js Vulnerable Express.js server
│── package.json Dependencies & scripts
│── package-lock.json Lock file for dependencies
└── README.md Challenge guide (this file)
Condizione di vittoria
Se sfrutti con successo la vulnerabilità, otterrai la risposta:
Login riuscito! Ecco la tua flag: FLAG{**__****}