
Mongo Vulnub Lab...Try to Hack IT.....!
Эта задача Capture The Flag (CTF) основана на CVE-2024-53900, уязвимости в Mongoose, которая позволяет выполнить удаленный код (RCE) из-за неправильного использования оператора $where в запросах MongoDB.
Ваша цель — использовать эту уязвимость и получить флаг, скрытый внутри приложения!
1 Установите зависимости Убедитесь, что у вас установлен Node.js, затем выполните:
npm install
2 Настройте MongoDB Установите MongoDB и убедитесь, что он запущен. Создайте файл .env в корневой директории со следующим содержимым:
MONGO_URI=mongodb://localhost:27017/ctf_db
3 Запустите сервер Запустите уязвимый Express-сервер:
node server.js
Сервер запустится на: http://localhost:3000
Ваша цель — обойти аутентификацию и извлечь флаг из уязвимой конечной точки.
Уязвимая конечная точка:
POST /login
Приложение использует небезопасный запрос MongoDB $where, что делает его уязвимым для NoSQL-инъекций и RCE.
Подсказка по эксплуатации:
$where.│── 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)
Если вы успешно используете уязвимость, вы получите ответ:
Login Successful! Here is your flag: FLAG{*****_***_****}