15 تغريدة 19 قراءة Nov 21, 2022
موضوعنا اليوم عن:-
◀️ JWT Attacks ▶️
جيب قهوتك واستمتع بالقراءة
1️⃣
بالبداية ايش هو JWT؟
هو اختصار لـ Json Web Token
ويعتبر من اشهر طرق التوثيق والتحكم بالصلاحيات والحسابات بالمواقع او التطبيقات.
2️⃣
مع انه زي ماقلنا انه يتحكم في اشياء كثيرة؟
ملاحظ ان ناس كثيره ماتحطه بعين الاعتبار وقت الفحص 😅.
وحاب ندخل داخل العالم هذا شوي
3️⃣
طبعا يتقسم JWT الى ٣ اقسام داخله
العنوان الاساسي : Header
المحتوى: payload
التوقيع: signature
وممكن لاحظتوه باغلب المواقع يكون دايم بدايته
بـ ey
والصورة توضح لنا اكثر كل قسم ومكانه
4️⃣
ليش المواقع تستخدمه؟
لانه اولاً يسهل عملية التحقق والمصادقة
ويقوم برضو ب session Management
هل هو خطير؟
طبعا تعتمد على نفس المحتوى اللي داخله.
توصل احيانا الى sqli او Privilege escalation
5️⃣
بعد مافهمنا شوي عن JWT
نبدا بهجماتها، طبعا انواع هجمات كثيرة وطرقها كثيره وبتكلم معكم على اغلب الهجمات اللي استخدمها شخصياً
بتكلم عن:
1- flawed signature verification
2- unverified signature
3- weak signing key
6️⃣
نبدا في اول هجمة
بكل اختصار هو ان الموقع مايتحقق من نوع الخوارزمية المستخدمة. ويسمح لنا في التعديل على المعلومات مثل مانبغى 👌🏻
راح نستخدم موقع للتطبيق
عشان يسهل علينا الفهم
demo.sjoerdlangkemper.nl
7️⃣
يوم ندخل الموقع عطانا JWT
وقبل مانسوي اي شيء ، من الطبيعي نشوف وش محتوى JWT ،
عن طريق: jwt.io
نشوف الصورة:
8️⃣
مثل ماشفنا الصورة عرفنا اللي داخله
ونجرب الحين نستخدمه زي ماهو بالموقع
ويطلع لنا المعلومات
بس نركز على ان الخوارزمية المستخدمة هي
HS256
9️⃣
لانه يستخدم خوارزمية معينة؟
فاكيد له رمز تحقق للتوقيع
بس نجرب نغيره عن طريق JWT.io
واذا قبل الموقع؟ كذا نحقق هجمة
unverified signature
بس زي ماهو واضح بالصورة، ماقبل الموقع
وظهر لنا انه ماقدر يثبت ان الJWT صحيح
🔟
طيب الحين نجرب هجمة
flawed signature verification
زي ماعرفنا ان هذه نتيجة خلل في الموقع بانه مايتحقق من نوع الخوارزمية
فنحاول نخلي الخوارزمية none لانه لا تتطلب رمز تحقق
نستخدم موقع CyberChef
gchq.github.io
عشان نبي نعدل اول جزء وهو العنوان
1️⃣1️⃣
الآن نجرب نعدل المعلومات ونحط اللي نبيه
ولان الخوارزمية none وماعنده رمز تحقق؟
فنحذف التوقيع من JWT.
ويظهر لنا الشكل النهائي كذا
ونجربه ب الموقع وراح يزبط
مثل ماهو واضح بالصورة
1️⃣2️⃣
اخر هجمة معنى اليوم وهي
weak signing key
وهي باختصار شديد اننا نحاول نخمن على JWT
ونعرف الkey حقه! ممكن يطلع بسيط 🤷🏽‍♂️
نجرب نخمن عليه عن طريق
اداه John The Ripper
ولقينا الkey وطلع secret
مثل ماهو واضح بالصورة
1️⃣3️⃣
ونرجع لموقع JWT.io
ونضيف الkey ونبدا نعدل زي مانبي
وطلع معنا ب الشكل النهائي كذا
ونجربه بالموقع وراح يزبط 👌🏻
1️⃣4️⃣
وهذه كانت بعض السناريوات
اللي قد واجهتني بالفحص
وان شاء الله اني افدت احد بمعلومة جديدة
واخيراً لا تنسوني من دعواتكم ❤️

جاري تحميل الاقتراحات...