
Mongo Vulnub Lab...Versuche es zu hacken.....!
CTF-Challenge – Mongoose RCE (CVE-2024-53900)
Challenge-Übersicht
Diese Capture-the-Flag-Challenge (CTF) basiert auf CVE-2024-53900, einer Schwachstelle in Mongoose, die Remote Code Execution (RCE) durch unsachgemäße Verwendung des $where-Operators in MongoDB-Abfragen ermöglicht.
Dein Ziel ist es, diese Schwachstelle auszunutzen und die in der Anwendung versteckte Flagge zu erhalten!
Einrichtungsanleitung
1 Abhängigkeiten installieren Stelle sicher, dass Node.js installiert ist, und führe dann Folgendes aus:
npm install
2 MongoDB konfigurieren Installiere MongoDB und stelle sicher, dass es läuft. Erstelle eine .env-Datei im Hauptverzeichnis mit folgendem Inhalt:
MONGO_URI=mongodb://localhost:27017/ctf_db
3 Server starten Starte den verwundbaren Express-Server:
node server.js
Der Server startet unter: http://localhost:3000
Ziel der Challenge
Dein Ziel ist es, die Authentifizierung zu umgehen und die Flagge vom verwundbaren Endpunkt zu extrahieren.
Verwundbarer Endpunkt:
POST /login
Die Anwendung verwendet eine unsichere MongoDB-$where-Abfrage, was sie anfällig für NoSQL-Injection & RCE macht.
Hinweis zur Ausnutzung:
Probiere NoSQL-Injection-Payloads aus, um die Abfrage zu manipulieren.
Füge JavaScript-Code in die $where-Bedingung ein.
Rufe die in der Antwort versteckte Flagge ab.
Verzeichnisstruktur
│── 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)
Gewinnbedingung
Wenn du die Schwachstelle erfolgreich ausnutzt, erhältst du die folgende Antwort:
Login Successful! Here is your flag: FLAG{**__****}