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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-29000-PoC — CVE-2026-29000 - pac4j-jwt (< 4.5.9 / < 5.7.9 / < 6.3.3) JwtAuthenticator تجاوز المصادقة PoC | Kitploit
أدوات/GitHubGitHub/dua2z3rr/cve-2026-29000-poc
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالمصادقةالتعلم والتعليم
GitHubdua2z3rr/cve-2026-29000-poc

CVE-2026-29000-PoC

CVE-2026-29000 - pac4j-jwt (< 4.5.9 / < 5.7.9 / < 6.3.3) JwtAuthenticator تجاوز المصادقة PoC

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-29000 — pac4j-jwt JwtAuthenticator ثغرة تجاوز المصادقة (PoC)

إثبات المفهوم (PoC) لـ CVE-2026-29000، وهي ثغرة تجاوز المصادقة في مكون JwtAuthenticator في pac4j-jwt (CVSS 10.0، حرجة).

يقوم السكريبت بتزوير رمز مميز (token) ينتحل هوية أي مستخدم بأي دور — دون معرفة أي سر — طالما أن الهدف يعرض مفتاحه العام RSA.

[!تحذير] هذه الأداة مقدمة لأغراض تعليمية واختبارات الأمن المصرح بها فقط. تمت كتابتها لحل آلة Hack The Box "Principal"، والإعدادات الافتراضية (iss، role، kid) مصممة خصيصًا لتلك الآلة. استخدمها فقط ضد أنظمة تملكها أو لديك إذن صريح لاختبارها.


الثغرة

إصدارات pac4j-jwt الأقل من 4.5.9 والأقل من 5.7.9 والأقل من 6.3.3 تحتوي على خلل منطقي في JwtAuthenticator عند معالجة JWT المشفرة (JWE).

عندما يقوم JwtAuthenticator بفك تشفير JWE، يحاول تحليل الرمز الداخلي كـ SignedJWT. إذا كان الرمز الداخلي هو PlainJWT غير موقع (alg: none)، فإن كائن SignedJWT يعود null، وبسبب الخلل المنطقي، يتم تجاوز مسار التحقق من التوقيع بالكامل. ثم يقوم المصادق ببناء ملف تعريف المستخدم مباشرة من الادعاءات غير الموثقة.

بعبارة أخرى، يتم الخلط بين تشفير JWE الخارجي — الذي يتطلب فقط المفتاح العام للخادم — وبين دليل على الأصالة، لذا يمكن لأي مهاجم يمكنه قراءة المفتاح العام إنشاء رموز مميزة موثوقة بالكامل.

سلسلة الهجوم

  1. احصل على المفتاح العام RSA للهدف من نقطة نهاية JWKS الخاصة به (مثل /api/auth/jwks).
  2. قم بتزوير PlainJWT غير موقع (alg: none) مع ادعاءات يختارها المهاجم (sub، role، iss، …).
  3. قم بلف ذلك PlainJWT في غلاف JWE مشفر بالمفتاح العام للهدف.
  4. أرسل JWE المضغوط الناتج كرمز Bearer. يقوم JwtAuthenticator الضعيف بفك تشفيره، ويتجاوز التحقق من التوقيع، ويثق في الادعاءات المزورة.

المتطلبات

  • Python 3.8+
  • التبعيات من requirements.txt:
root@kitploit:~
pip install -r requirements.txt

(requests، jwcrypto، cryptography)


الاستخدام

root@kitploit:~
python3 exploit.py -u <username> [options]

الخيارات

يجب تقديم إما --target (لجلب JWKS عبر الشبكة) أو --jwks-file (لتوفيره محليًا).

أمثلة

تزوير رمز مميز للمسؤول عن طريق جلب المفتاح العام من الهدف وطباعته إلى stdout:

root@kitploit:~
python3 exploit.py -t http://target:8080 -u admin

تزوير رمز مميز، ثم اختباره تلقائيًا ضد نقطة نهاية محمية:

root@kitploit:~
python3 exploit.py -t http://target:8080 -u admin \
    --verify-endpoint /api/settings -v

استخدام JWKS محفوظ محليًا وحفظ الرمز إلى ملف:

root@kitploit:~
python3 exploit.py --jwks-file jwks.json -u admin -o token.jwe

الإصلاح

قم بترقية org.pac4j:pac4j-jwt إلى إصدار مصحح:

  • سلسلة 4.x → 4.5.9 أو أحدث
  • سلسلة 5.x → 5.7.9 أو أحدث
  • سلسلة 6.x → 6.3.3 أو أحدث

الترخيص

تم الإصدار بموجب MIT License.

تنزيل الأداة
العلامةالوصفالافتراضي
-t, --targetعنوان URL الأساسي للهدف (مثل http://host:8080)—
--jwks-urlمسار نقطة نهاية JWKS/api/auth/jwks
--jwks-fileتحميل JWKS من ملف محلي بدلاً من الجلب من --target—
-u, --usernameقيمة ادعاء sub (مطلوب)—
--roleقيمة ادعاء roleROLE_ADMIN
--issقيمة ادعاء issprincipal-platform
--expصلاحية الرمز بالثواني3600
--verify-endpointنقطة نهاية محمية لاختبار الرمز المزور ضدها (مثل /api/settings)—
-k, --insecureتعطيل التحقق من شهادة TLSoff
-o, --outputكتابة JWE المزور إلى ملف بدلاً من stdoutstdout
-v, --verboseطباعة محتوى JWT المزور إلى stderroff