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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-29927 — هذا ماسح CVE-2025-29927. | Kitploit
أدوات/GitHubGitHub/houmanpashaei/cve-2025-29927
الاستطلاعماسحات الثغرات الأمنيةاستغلال تطبيقات الويبأمن الويباختبار الاختراقزاحف الويب
GitHubhoumanpashaei/cve-2025-29927

CVE-2025-29927

هذا ماسح CVE-2025-29927.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ماسح متقدم لثغرة CVE-2025-29927

هذا ماسح احترافي مصمم لاكتشاف ثغرة تجاوز الوسيطة CVE-2025-29927 في تطبيقات Next.js.

🧠 ما يفعله

  • يستخدم متصفحًا حقيقيًا بدون واجهة (Playwright) للزحف العميق إلى موقع الهدف (يتضمن المحتوى المقدم عبر JavaScript)
  • يختبر المسارات الداخلية باستخدام رؤوس X-Middleware-Subrequest المصممة لتجاوز وسيطة Next.js
  • يقارن حالة HTTP وطول الاستجابة لتحديد عمليات التجاوز
  • متعدد الخيوط بالكامل لأداء عالٍ

🚀 بداية سريعة

التثبيت (محليًا)```bash

pip install -r requirements.txt playwright install

### تشغيل الماسح```bash
python main.py --domain https://example.com --threads 10 --timeout 10 --save

جميع خيارات CLI```bash

python main.py --help

| الخيار         | الوصف                                      |
|----------------|--------------------------------------------|
| `--domain`     | عنوان URL الأساسي للموقع المستهدف (مطلوب)  |
| `--user-agent` | وكيل مستخدم مخصص (الافتراضي: سلسلة Chrome) |
| `--timeout`    | مهلة الطلب (الافتراضي: 10 ثوانٍ)            |
| `--proxy`      | عنوان الوكيل (اختياري)                      |
| `--save`       | حفظ النتائج في `results.txt`                |
| `--threads`    | عدد الخيوط (الافتراضي: 10)                  |
| `--wordlist`   | قائمة كلمات تتضمن مسارًا شائعًا              |

---

## 🐳 استخدام Docker

### بناء صورة Docker```bash
docker build -t cve-scanner .

تشغيل الماسح```bash

docker run -it --rm cve-scanner --domain https://example.com --save

## ⚙️ إجراءات GitHub

يتضمن هذا المشروع سير عمل لـ GitHub Actions لاختبار الإعداد عند الدفع (push). يقوم بما يلي:
- تثبيت التبعيات (dependencies)
- تثبيت متصفحات Playwright
- تشغيل فحص `--help`

انظر `.github/workflows/python.yml`.

---

## 🧱 الهيكل```
.
├── main.py              # Entry point
├── config.py            # CLI parser
├── crawler.py           # Playwright crawler
├── scanner.py           # Multi-threaded vulnerability testing
├── requirements.txt
├── Dockerfile
└── .github/workflows

🧠 مزيد من التفاصيل

🧠 تصميم ماسح متقدم لثغرة CVE-2025-29927

نظرة عامة على ثغرة CVE-2025-29927

CVE-2025-29927 هي ثغرة أمنية حرجة في Next.js تسمح للمهاجمين بتجاوز المصادقة والتفويض المستندين إلى middleware. من خلال تضمين header داخلي خاص (X-Middleware-Subrequest) في طلبات HTTP، يمكن للمهاجم خداع خادم Next.js لتخطي تنفيذ الوسيطة، وبالتالي الوصول إلى المسارات المحمية​. عملياً، يتم معالجة الطلب الذي كان سيتم حظره عادةً بواسطة middleware المصادقة (على سبيل المثال، إرجاع 401/403 أو إعادة التوجيه إلى صفحة تسجيل الدخول) بشكل طبيعي في حالة وجود هذا header، مما يؤدي فعلياً إلى تجاوز فحوصات الأمان. تؤثر هذه الثغرة على إصدارات Next.js من 11.1.4 حتى 15.2.2، ويُحث المسؤولون على تثبيت التصحيحات أو تنفيذ الإجراءات التخفيفية (مثل إزالة هذا header عند الوكيل) لحماية تطبيقاتهم​.

تجاوز Middleware في Next.js من خلال تضمين header X-Middleware-Subrequest الخاص، مما يسمح بالوصول المباشر إلى مورد محمي (استغلال CVE-2025-29927)

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

🚀 الأدوات والمكتبات للزحف الديناميكي والفحص

لتلبية متطلبات الزحف العميق بما في ذلك المحتوى المعروض بواسطة JavaScript، سنستخدم Playwright (المفضل على Selenium لسرعته وواجهة برمجة التطبيقات الحديثة). Playwright هي مكتبة قوية لأتمتة المتصفحات بدون واجهة رسومية يمكنها التعامل مع تطبيقات الويب الديناميكية وأطر عمل JavaScript الحديثة. مقارنةً بـ Selenium، يقدم Playwright واجهة برمجة تطبيقات أكثر حداثة (مبنية على بروتوكول Chrome DevTools) ويدعم التشغيل المتزامن وغير المتزامن، مما قد يحقق أداءً أفضل لحالة الاستخدام لدينا​. تتضمن المكتبات الرئيسية وتعليمات التثبيت الخاصة بها ما يلي:

  • playwright – لأتمتة المتصفح بدون واجهة رسومية (لتحميل تطبيقات الصفحة الواحدة أو الصفحات التي تتطلب JavaScript). (التثبيت: pip install playwright وتشغيل playwright install للحصول على ملفات المتصفح الثنائية).

  • requests أو httpx – لإرسال طلبات HTTP خلال مرحلة الفحص. يمكننا استخدام requests للبساطة أو httpx/aiohttp لدعم غير المتزامن. (التثبيت: pip install requests أو pip install httpx).

  • bs4 (BeautifulSoup) – لتحليل HTML واستخراج الروابط عند الحاجة. يمكن لـ Playwright الاستعلام المباشر عن DOM، لكن استخدام BeautifulSoup على محتوى HTML للصفحة يكون مباشراً للعثور على علامات الربط. (التثبيت: pip install beautifulsoup4).

  • concurrent.futures (مدمج) أو asyncio – لتنفيذ التزامن. للخيوط المتعددة، سنستخدم concurrent.futures.ThreadPoolExecutor من Python (لا حاجة لتثبيت إضافي). في حالة استخدام نهج غير متزامن، يمكن استخدام asyncio من Python مع httpx للطلبات المتوازية.

  • (اختياري) argparse – لتحليل وسائط سطر الأوامر إذا أردنا واجهة CLI بدلاً من قائمة تفاعلية. (وحدة مدمجة)

  • (اختياري) rich أو colorama – لإخراج وحدة تحكم ملون أو منسق لتحسين القراءة. (التثبيت: pip install rich أو pip install colorama).

التبرير: تم اختيار Playwright لقدرته على كشط المحتوى الديناميكي دون تعقيدات كبيرة. "باستخدام Playwright يمكننا أتمتة المتصفحات بدون واجهة رسومية... للتنقل عبر الويب تماماً مثل الإنسان، مما يجعله رائعاً لكشط مواقع الويب الديناميكية المدعومة بـ JavaScript"​. وهذا يضمن أن الزاحف يمكنه رؤية الروابط أو عناصر واجهة المستخدم التي يتم إنشاؤها بواسطة البرامج النصية (والتي قد يفوتها زاحف بسيط يعتمد على requests).

🚀 الزحف مع دعم JavaScript (اكتشاف المسار الديناميكي)

سيستخدم وحدة الزحف Playwright في وضع بدون واجهة رسومية لإجراء زحف عميق للموقع المستهدف. الهدف هو اكتشاف المسارات الداخلية (نقاط النهاية) لاختبارها، بما في ذلك تلك التي تظهر فقط بعد تنفيذ JavaScript. نقاط التصميم الرئيسية للزاحف:

التنقل عبر المتصفح بدون واجهة رسومية: قم بتشغيل مثيل متصفح (مثل Chromium) في وضع بدون واجهة رسومية عبر Playwright. استخدم سياق متصفح مع وكيل مستخدم مخصص إذا حدده المستخدم (مزيد من التفاصيل في القسم التالي). على سبيل المثال، يمكننا إنشاء سياق باستخدام browser.new_context(user_agent=<user_agent_string>)​ لمحاكاة وكيل المستخدم المختار. إذا تم تكوين وكيل، قم بتطبيقه عند التشغيل (يسمح Playwright بتعيين خادم وكيل عند تشغيل المتصفح أو السياق​).

استراتيجية الزحف التكراري: ابدأ من عنوان URL أساسي معين (بذرة). استخدم page.goto(base_url, timeout=<T>) لتحميل الصفحة (المهلة قابلة للتكوين). انتظر حتى تهدأ الشبكة أو تأخير قصير للسماح بتحميل المحتوى الديناميكي إذا لزم الأمر. ثم استخرج الروابط. يمكننا استخراج الروابط إما عن طريق:

  • تنفيذ JavaScript في سياق الصفحة لجمع جميع الروابط، على سبيل المثال links = page.evaluate("Array.from(document.querySelectorAll('a[href]'), a => a.href)")، أو
  • استرداد HTML للصفحة (content = page.content()) واستخدام BeautifulSoup لتحليلها والعثور على جميع سمات <a href>.

تصفية الروابط: قم بتصفية الروابط غير الموجودة ضمن النطاق المستهدف (للبقاء داخلياً). أيضاً تجاهل عناوين URL للملفات الثابتة مثل الصور، CSS، JS، إلخ. على سبيل المثال، تخطي أي عنوان URL يحتوي على امتدادات ملفات مثل .css, .js, .jpg, .png, .gif, .svg, .woff إلخ. النهج العملي (المستوحى من قالب ProjectDiscovery) هو تجاهل أي مسار يحتوي على "نقطة" بعد الشرطة المائلة الأولية. لقد استخرجوا نقاط النهاية بنمط regex href=['"](https://github.com/houmanpashaei/cve-2025-29927/blob/main/%5C/%5B%5E.%5C%22%27%5D%2B)['"] – يلتقط هذا المسارات الداخلية التي لا تحتوي على نقطة (وبالتالي تخطي الأصول)​. سنقوم بتنفيذ منطق مماثل في الكود لتجنب وضع الموارد الثابتة أو الروابط الخارجية في قائمة الانتظار.

التتبع والتحكم في العمق: حافظ على مجموعة من عناوين URL التي تمت زيارتها لتجنب الحلقات اللانهائية أو التكرار. استخدم طابور (FIFO) لاجتياز الرسم البياني للروابط في الموقع بطريقة BFS. اختيارياً، اسمح للمستخدم بتحديد حد لعمق الزحف أو أقصى عدد من الصفحات للزيارة لمنع التشغيل إلى أجل غير مسمى على المواقع الكبيرة.

تنزيل الأداة