KeroTools

فك تشفير JWT لقراءة الترويسة والحمولة

فكّ رمز JWT لقراءة الترويسة (Header) والحمولة (Payload) بوضوح، فوراً وبخصوصية.

الإدخال
0 حرف
الناتج

الرمز يبقى على جهازك

لا شيء يُحذف لاحقاً

مبنيّ لبيانات الاعتماد الحيّة

يعمل في كل متصفح حديث

كيف تعمل

  1. 1

    الصق الرمز

    كاملاً بالنقطتين — فالأجزاء الثلاثة تفصلهما.

  2. 2

    اقرأ الادّعاءات

    الترويسة في جانب والحمولة في آخر، والطوابع الزمنية محوَّلة تواريخَ.

  3. 3

    افحص ما جئت من أجله

    عادةً الانتهاء أو المُصدِر أو الجمهور أو أيّ مستخدم يخصّه الرمز فعلاً.

لماذا تستخدم هذه الأداة

الترويسة والحمولة جنباً إلى جنب

الخوارزمية وتلميح المفتاح إلى جانب الادّعاءات، وهنا تُجاب معظم أسئلة التصحيح.

الطوابع الزمنية بصيغة مقروءة

‎exp‎ و‎iat‎ و‎nbf‎ معروضة تواريخَ لا أرقاماً من عشر خانات عليك تحويلها.

الانتهاء مقيس على الآن

ترى فوراً أما زال الرمز داخل نافذته، دون إجراء الحساب.

صريح بشأن التحقق

هذه الأداة تفكّ ولا تتحقق من توقيع، وهي تقول ذلك بدل الإيحاء بأن الرمز صحيح.

لا شيء يُرسَل

يُحلَّل الرمز في متصفحك — وبيانات اعتماد جلسة عاملة لا تصل إلى خادم أبداً.

مجاني بلا حساب

بلا تسجيل، وبلا علامة مائية، وبلا حدّ لعدد الرموز التي تفحصها.

الفكّ ليس تحققاً، والفرق هو النموذج الأمني كله

لرمز JWT ثلاثة أجزاء تفصلها نقطتان، والأولان مجرد نصّ base64url. فكل من يمسك الرمز يستطيع قراءة الترويسة والحمولة بخطوة واحدة — وهو ما تفعله هذه الصفحة، ولا يقتضي مفتاحاً ولا إذناً ولا سرّاً. أما التحقق فعملية منفصلة تماماً: إعادة حساب التوقيع على الجزأين الأولين بمفتاح المُصدِر وفحص مطابقته للثالث. والتحقق وحده يخبرك أن الرمز أصيل غير معدَّل. والفاكّ يخبرك بما يدّعيه الرمز، لا أصحيح الادّعاء أبداً، لأن أي أحد يستطيع صياغة رمز يقول ما يشاء. فإن كنت تصحّح، فالفكّ يجيب عن سؤالك. وإن كنت تقرر أتثق بطلب، فالفكّ لا يجيب عن شيء إطلاقاً.

الحمولة يقرؤها أي أحد، والناس ينسون ذلك باستمرار

يلي هذا مما سبق ويستحق أن يُقال وحده، لأنه مصدر انكشاف بيانات حقيقيّ. فحمولة JWT مرمَّزة لا مشفَّرة. وكل ادّعاء فيها — معرّف المستخدم وعنوان البريد والدور والمستأجر وأيّ حقول داخلية كان تضمينها مريحاً — مرئيّ لكل من يملك الرمز، بما في ذلك المتصفح الذي صدر إليه، وأي امتداد يعمل في ذلك المتصفح، وكل من يحصل عليه لاحقاً. فالتوقيع يحمي الحمولة من التغيير لا من القراءة. فالرمز موضع معقول لمعرّف ودور، وموضع رديء لعنوان أو رقم هاتف أو حالة ترخيص قد يجدها أحدهم محرجة أو أي شيء آخر ما كنت لتطبعه على ظاهر مغلَّف. فإن كان ادّعاء يجب أن يبقى خاصاً، فليس مكانه الرمز.

لا تدع الرمز يخبرك كيف تتحقق منه

أشهر ثغرات JWT تتشارك شكلاً واحداً: مكتبةٌ تقرأ حقل ‎alg‎ من الترويسة وتثق به. والنسخة التاريخية ‎alg: none‎، وهي تعلن أن الرمز غير موقَّع — فالمتحقّق الذي يحترمها يقبل أي شيء، والمهاجم يكتب حمولته ويجرّد التوقيع ببساطة. والنسخة الأدقّ هي الالتباس الخوارزميّ، حيث يُقدَّم رمز موقَّع بـHMAC إلى خادم يتوقّع RSA؛ فإن مرّرت الشفرةُ مفتاح RSA العلنيّ سرّاً لـHMAC، وكان ذلك المفتاح منشوراً، استطاع المهاجم التوقيع به. ويُصلَح الاثنان بالطريقة نفسها: تقرّر شفرة التحقق أيّ خوارزمية وأيّ مفتاح تقبل، وترفض ما عداه، بدل قراءة الجواب من الجزء غير الموثوق في الرمز الذي تفحصه.

الطوابع الزمنية بالثواني، ولا شيء يفرضها من تلقاء نفسه

ثلاثة ادّعاءات تحكم النافذة التي يصحّ فيها الرمز. ‎exp‎ هو الانتهاء، و‎nbf‎ هو الوقت الذي لا يُقبَل قبله، و‎iat‎ هو وقت الإصدار. وثلاثتها بالثواني منذ حقبة يونكس، وهذا يوقع كل من يعمل بلغة طوابعها الأصلية بالميلي ثانية — فيكون الرمز الناتج إما منتهياً أصلاً وإما صحيحاً لخمسين ألف سنة قادمة، وكلا الغلطين شائع بما يكفي لفحصه أولاً. والنقطة الأهمّ أن هذه ادّعاءات لا إنفاذ. فلا شيء في الرمز يكفّ عن العمل حين يمرّ ‎exp‎؛ والانتهاء لا يوجد إلا إن قارنته شفرة التحقق بالوقت الحالي ورفضت الطلب. والفاكّ الذي يريك رمزاً منتهياً يخبرك بما قصده المُصدِر، لا بما سيفعله خادم بعينه به.

لا يمكن إبطال JWT، وهذه هي الصفقة التي قبلتها

سبب استعمال هذه الرموز هو التحقق عديم الحالة: يستطيع خادم تأكيد أصالة طلب بمفتاح وحده، دون استعلام قاعدة بيانات، وهو ما يجعلها تتوسّع عبر الخدمات. والنتيجة المباشرة أنه لا شيء ليُحذَف. فالجلسة المخزّنة في قاعدة بيانات تنتهي لحظة إزالتك الصفّ؛ أما الرمز الموقَّع فيبقى صحيحاً حتى انتهائه مهما حدث عند المُصدِر، لأن لا شيء يستشير المُصدِر. فالرمز المسرَّب صالح للاستعمال حتى ينتهي، ولهذا تحديداً ينبغي أن تكون أعمار رموز الوصول قصيرة — دقائق لا أسابيع — مع رمز تحديث أطول عمراً يمكن إبطاله لأنه يُفحَص مقابل تخزين. فإن كانت رموز وصولك تدوم شهراً، فقد جمعت مساوئ انعدام الحالة كلها ولا شيء من أمان الجلسات.

لماذا هذه أحدّ حالة للفكّ المحلي

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

أخطاء شائعة يجب تجنّبها

  • اعتبار الفكّ الناجح دليلاً على صحة الرمز. الفكّ لا يحتاج مفتاحاً ولا يثبت شيئاً؛ والتحقق من التوقيع بمفتاح المُصدِر وحده يثبت أن الرمز أصيل.
  • وضع بيانات خاصة في الحمولة. هي مرمَّزة لا مشفَّرة — والتوقيع يمنع تغييرها لا قراءتها، فكل من يملك الرمز يرى كل ادّعاء فيه.
  • ترك الرمز يختار خوارزمية التحقق منه. قراءة `alg` من الترويسة هي آلية هجومَي `alg: none` والالتباس الخوارزميّ؛ وعلى المتحقّق تثبيت الخوارزمية والمفتاح سلفاً.
  • كتابة `exp` بالميلي ثانية. طوابع JWT بالثواني منذ الحقبة، فقيمة بالميلي ثانية تنتج رمزاً صحيحاً لعشرات آلاف السنين — أو رمزاً منتهياً أصلاً.
  • لصق رمز إنتاج في فاكّ مستضاف. هو بيانات اعتماد حيّة، واللصق لا يترك أثراً، ومن يستقبله يستطيع استعماله حتى ينتهي.

كيف تُقارن

الجانبهذه الأداةفاكّات عبر الإنترنتاستدعاء مكتبة
إرسال الرمز إلى خادملا يحدث أبداًغالباً نعملا
الطوابع معروضة تواريخَنعمأحياناًأنت تنسّقها
وضوح أنها لا تتحققنعمغير واضح غالباًصريح في الواجهة
يعمل دون فتح مشروعنعمنعملا
حساب أو تسجيلغير مطلوبمطلوب غالباًغير مطلوب
السعرمجانيمجاني / باقات مدفوعةمجاني

المزايا

تحليل كامل للأجزاء الثلاثة

الترويسة والحمولة ومقطع التوقيع معروضة منفصلةً كما تعرّفها الصيغة.

base64url معالَجة صحيحاً

رموز JWT تستعمل الأبجدية الآمنة للروابط بلا حشو، وهو ما يخطئ فيه فاكّ Base64 عادي.

الادّعاءات القياسية مسمّاة

‎iss‎ و‎sub‎ و‎aud‎ و‎exp‎ و‎nbf‎ و‎iat‎ و‎jti‎ تُسمّى بدل تركها اختصارات.

الرموز المشوّهة تُعلَّم

مقطع ناقص أو ترميز باطل يُبلَّغ عنه بدل إنتاج هراء جزئي.

يونيكود في الادّعاءات محفوظ

الأسماء والقيم بالعربية أو التركية أو أي كتابة تُفكّ سليمة.

فوريّ بلا طلب

التحليل يجري وأنت تلصق، بلا شيء يُجلَب ولا شيء يُرسَل.

بلا تثبيت

بلا مكتبة ولا بيئة تشغيل ولا اعتماديات — يعمل على صفحة الويب.

جاهز للعربية وRTL

واجهة كاملة بثماني لغات، منها العربية من اليمين إلى اليسار.

آمن افتراضياً

يُقدَّم عبر HTTPS، بلا تتبّع للمحتوى وبلا رفع إلى طرف ثالث.

من يستخدمها

المطوّرون

فحص سبب رفض استدعاء واجهة برمجية — وهو عادةً رمز منتهٍ أو جمهور خاطئ.

مهندسو الأمن

فحص ادّعاءات رمز وخوارزميته بعد العثور عليه في سجلّ أو تقرير خلل.

مكاملو الواجهات البرمجية

تأكيد النطاقات والأدوار التي أصدرها مزوّد فعلاً قبل الكتابة عليها.

مهندسو الدعم

قراءة رمز زوّده عميل لمعرفة أي حساب ومستأجر يخصّه.

الأسئلة الشائعة

لا. كل شيء يعمل محلياً في متصفحك — نصّك لا يُرفع أو يُخزَّن أو يُشارَك أبداً.

نعم — مجاني تماماً، بلا حساب وبلا حدود.