كيفية استخدام محلّل ترويسة JWT
- الصق رمز JWT، أو مقطع ترويسته / JSON الترويسة فقط.
- راجع الملخص لمعرفة الخوارزمية ونوع المفتاح ومراجع المفاتيح البعيدة.
- راجع تحليل المخاطر وتأكد من أن المتحقق لديك يرفض الأنماط المرصودة.
مزايا محلّل ترويسة JWT
- يشرح كل معلمة في ترويسة JOSE: alg وtyp وcty وkid وjku وjwk وx5u وx5c وx5t وcrit وenc وzip
- يصف عائلة الخوارزمية ونوع المفتاح (سرّ مشترك مقابل مفتاح عام)
- يرصد alg=none والتوقيعات الفارغة وعناوين المفاتيح البعيدة والمفاتيح المضمّنة وقيم kid الشبيهة بالحقن
- يقبل رمزاً كاملاً أو المقطع الأول فقط أو الترويسة بصيغة JSON
- مستوى خطورة إجمالي مع نتائج مرتّبة حسب الأولوية
مثال على محلّل ترويسة JWT
ترويسة تحتوي على عنوان URL لمجموعة JWK
الإدخال:
{"alg":"RS256","typ":"JWT","kid":"2026-03-key-1","jku":"https://auth.example.com/.well-known/jwks.json"}النتيجة:
High — jku (JWK Set URL) present: verifiers must only accept allow-listed hosts.
OK — RS256 (RSA public key): pin the expected algorithm to avoid HS/RS confusion.
Info — kid = 2026-03-key-1: use only to select pre-configured keys.الأسئلة الشائعة حول محلّل ترويسة JWT
ما هجوم «alg=none»؟
كانت بعض المكتبات المبكرة تقبل الرموز التي تعلن ترويستها alg بقيمة «none» وتتخطى التحقق من التوقيع كلياً، ما يتيح للمهاجمين تزوير أي حمولة. يجب أن ترفض أدوات التحقق «none» وألا تقبل سوى قائمة صريحة من الخوارزميات المسموح بها.
ما الخلط بين الخوارزميات (HS/RS)؟
إذا وثق المتحقق بقيمة alg الواردة في الترويسة، يمكن للمهاجم تغيير RS256 إلى HS256 وتوقيع الرمز باستخدام المفتاح العام للخادم (وهو عام بطبيعته) بوصفه سرّ HMAC. ثبّت الخوارزمية المتوقعة دائماً على جانب الخادم.
لماذا تُرصد ترويسات jku وx5u وjwk؟
تخبر هذه الترويسات المتحقق من أين يجلب المفتاح المستخدم لفحص التوقيع — أو تضمّنه مباشرة. فإذا اتبعها المتحقق دون تمحيص، يمكن للمهاجم تقديم مفتاحه الخاص. لا ينبغي الوثوق إلا بالمفاتيح القادمة من مخزن مُعدّ مسبقاً.
ماذا ينبغي أن يحتوي kid؟
معرّفاً مبهماً يُستخدم للبحث عن أحد المفاتيح المنشورة للجهة المُصدِرة. أما القيم التي تحتوي على فواصل مسارات أو علامات اقتباس أو مقاطع SQL فتشير إلى محاولات حقن ضد أدوات التحقق التي تستخدم kid لتحميل ملفات أو صفوف قاعدة بيانات.
ملاحظات تقنية
تستند نتائج الترويسة إلى RFC 7515/7516/7518 والهجمات المفهرسة في RFC 8725: JWS غير المؤمَّن (alg none)، واستبدال الخوارزمية، وحقن مصدر المفتاح عبر jku/x5u/jwk، واستخدام kid كمسار ملف أو مقطع SQL. يتجاهل المتحقق الآمن اقتراحات الترويسة بشأن المفاتيح والخوارزميات ويستخدم إعداداته الخاصة بدلاً منها.