جميع الأدلة

DEVOMNITOOLS / أدلة المطورين

قراءة رموز JWT وJWS داخل المتصفح

افحص ترويسة JWT ومحتواه داخل المتصفح، وتعرّف على الفرق بين قراءة البيانات والتحقق من التوقيع وكيفية التعامل مع الرموز الحساسة.

DevOmniTools نُشر: حُدّث: 2 دقائق للقراءة

النقاط الأساسية

  • قراءة البيانات لا تثبت صحة التوقيع.
  • تحقّق من المُصدر والجمهور ووقت الانتهاء وفق قواعد تطبيقك.
  • استخدم رموزاً تجريبية عند مشاركة النتائج.

فهم الأجزاء الثلاثة

يتكوّن رمز JWT الموقّع عادةً من ثلاثة أجزاء تفصلها نقاط: ترويسة ومحتوى بترميز Base64URL ثم توقيع. يصف JWS الغلاف الموقّع. الجزءان الأولان مرمّزان وليسا مشفّرين، ولذلك يستطيع من يحمل الرمز قراءتهما عادةً. قد تستخدم الرموز المشفّرة بنية مختلفة لا تدعمها هذه الأداة.

فحص الرمز

افتح قارئ JWT وألصق رمزاً تجريبياً ثم افحص بيانات JSON. تنفّذ الأداة المعالجة الأساسية محلياً داخل المتصفح. فشل ترميز Base64URL أو بنية JSON يعني خطأً في الإدخال، ولا يثبت وجود هجوم. أدخل الرمز وحده دون ترويسة HTTP Authorization كاملة.

{ "alg": "HS256", "typ": "JWT" }

تفسير الحقول

يشير alg إلى خوارزمية التوقيع المعلنة. يحدّد iss المُصدر وaud الجمهور المقصود؛ وتمثّل exp وnbf وiat أوقات Unix بالثواني. استخدم محوّل الوقت لقراءة التاريخ. تحقّق من هذه القيم على الخادم بمفاتيح موثوقة وقائمة صريحة للخوارزميات المقبولة. لا تمنح صلاحيات اعتماداً على المحتوى المقروء وحده.

حماية البيانات الحساسة

تعمل الأداة الأساسية محلياً. مساعدة الذكاء الاصطناعي الاختيارية إجراء منفصل قد يرسل الإدخال إلى مزوّد خارجي بعد الموافقة؛ تجنّب إرسال بيانات اعتماد حقيقية. تحميل الموقع يتضمّن طلبات موارد عادية. الاستخدام دون اتصال يعتمد على تخزين الصفحات والملفات المطلوبة بنجاح. مسح حقل الإدخال لا يضمن المحو الآمن من الذاكرة.

ثغرات التحقق المعماري (RFC 7519)

عند تصحيح أخطاء رموز JWT في بيئات الإنتاج، لا يُعد فحص المحتوى سوى الخطوة التشخيصية الأولى. يجب على مهندسي البرمجيات التحقق من ثلاثة حدود أمنية رئيسية قبل الوثوق بالبيانات:

  1. ثغرة الخوارزمية الملغاة (“none”): قد تقبل بعض المكتبات البرمجية القديمة الرموز التي تحتوي على "alg": "none"، مما يؤدي إلى تجاوز فحص التوقيع. احرص دائماً على فرض قائمة خوارزميات مقبولة ومحددة مسبقاً (مثل RS256 أو ES256).
  2. هجمات خلط المفاتيح (HMAC مقابل RSA): إذا كان الخادم يتوقع مفتاحاً عاماً من نوع RSA ولكنه يستخدم دالة تحقق مرنة، فقد يتمكن المهاجم من تزوير الرمز وتوقيعه بواسطة HMAC-SHA256 باستخدام المفتاح العام كنص سري. لا تسمح لترويسة الرمز غير الموثوقة بتحديد نوع التشفير تلقائياً.
  3. تفاوت الوقت والتأخير الشبكي: تفشل مقارنة تواريخ الانتهاء (exp) بشكل متكرر نتيجة فروق التوقيت البسيطة بين الخوادم السحابية. اضبط هامش تسامح زمني (بين 30 إلى 60 ثانية) لمعالجة انحراف توقيت NTP وتأخر الشبكة.
  1. إدخال الرمز
  2. قراءة الترويسة والمحتوى
  3. فحص الحقول
التحقق من التوقيع خطوة مستقلة عن قراءة البيانات.