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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
jwt-key-id-injector — نص برمجي بسيط بلغة بايثون للتحقق من ثغرة JWT افتراضية. | Kitploit
أدوات/GitHubGitHub/dariusztytko/jwt-key-id-injector
توليد الحمولةتحليل الثغرات الأمنيةأمن الويباختبار الاختراق
GitHubdariusztytko/jwt-key-id-injector

jwt-key-id-injector

نص برمجي بسيط بلغة بايثون للتحقق من ثغرة JWT افتراضية.

عرض المستودع
519منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

حاقن معرف مفتاح JWT

نص برمجي بسيط بلغة بايثون للتحقق من ثغرة JWT افتراضية.

لنفترض وجود تطبيق يستخدم رموز JWT الموقعة بخوارزمية HS256. مثال على رمز مميز يبدو كالتالي:

root@kitploit:~
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.zbgd5BNF1cqQ_prCEqIvBTjSxMS8bDLnJAE_wE-0Cxg

يمكن فك تشفير الرمز أعلاه إلى البيانات التالية:

root@kitploit:~
{
  "alg": "HS256",
  "typ": "JWT"
}
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

لحساب التوقيع، يتم استخدام السر التالي:

root@kitploit:~
supersecret

يتم استخدام الكود الزائف التالي لحساب التوقيع:

root@kitploit:~
$alg = "sha256";
$data = "...";
$key = "supersecret";

hmac($alg, $data, $key);

ولكن ماذا لو تم حقن حقل "kid":0 غير متوقع في الرأس؟

root@kitploit:~
{
  "alg": "HS256",
  "typ": "JWT",
  "kid": 0
}
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

حقل kid هو طريقة قياسية لاختيار مفتاح. افتراضي هو أنه إذا لم يكن حقل kid متوقعًا، فقد يكون هناك تنفيذ ضعيف سيعامل قيمة السلسلة $key كمصفوفة:

root@kitploit:~
hmac($alg, $data, $key[kid]);

ونتيجة لذلك، سيتم استخدام قيمة "s" ($key[0]) كسر HMAC.

الاستخدام

يأخذ سكريبت injector.py رمز JWT الأصلي، ويحقن حقل "kid":0 في الرأس ويولد رموزًا موقعة بأسرار من حرف واحد (رموز ASCII: 32 - 126 [{space}, !, ", #, ..., x, y, z, {, |, }, ~]):

root@kitploit:~
python3 injector.py eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.zbgd5BNF1cqQ_prCEqIvBTjSxMS8bDLnJAE_wE-0Cxg

نتيجة لذلك، يتم إنشاء ملفين - tokens.txt و tokens_meta.txt. يحتوي tokens.txt على الرموز المولدة ويمكن استخدامه كقائمة من الحمولات لـ Burp Intruder. إذا كان أي رمز صالحًا (مما يعني أن التطبيق ضعيف)، يمكن استخدام ملف tokens_meta.txt للتحقق من الخوارزمية والسر المستخدمين لتوليد الرمز المعطى. يحتوي ملف tokens_meta.txt على البيانات التالية:

root@kitploit:~
token1:algorithm:secret
...
token{n}:algorithm:secret

التغييرات

يرجى الاطلاع على سجل التغييرات

تنزيل الأداة