ثغرة إعادة التوجيه سمحت بتجاوز المصادقة والدخول دون كلمة مرور

فشل في آليات المصادقة

مقدمة

لوحظت محاولات دخول ناجحة من مواقع جغرافية غير مألوفة، ومع ذلك أشارت السجلات إلى أن عملية المصادقة تمت “بشكل شرعي”. بتحليل مسار تسجيل الدخول، تبيّن أن مهاجمًا استطاع تجاوز المصادقة بالكامل عبر ثغرة إعادة توجيه غير محمية (Open Redirect) داخل تدفّق الدخول الموحّد (SSO).

كيف تعمل المصادقة عادة؟

تعتمد البوابة على توليد رمز جلسة مؤقت ثم إعادة المستخدم لوجهته عبر باراميتر مثل:

/redirect?next=/dashboard

كان الفحص يتحقق سطحيًا من صيغة الرابط، لكنه لم يقيّد النطاق (domain) ببياض آمن (Allowlist)، ما سمح بتمرير روابط خارجية.

بداية الاستغلال

صنع المهاجم رابطًا يصرف المستخدم إلى صفحة تصيّد تُشبه SSO الأصلي:

https://example.com/redirect?next=https://attacker.example/login

وبسبب غياب التحقّق الصارم، تم تنفيذ إعادة التوجيه، فجمع المهاجم بيانات الاعتماد ورموز الجلسات، ثم استخدمها للدخول مباشرة دون معرفة كلمة المرور الفعلية.

ما الذي حدث بعد اختطاف الجلسة؟

  1. الدخول إلى حساب موظف دعم يملك صلاحيات داخلية.
  2. رفع الصلاحيات إلى مستوى إداري وتعطيل بعض التنبيهات الأمنية.
  3. استخدام Token Replay لتوليد جلسات جديدة بسرعة وتجاوز انتهاء الصلاحية.
  4. التحرك أفقيًا للوصول إلى حسابات أخرى عبر نفس الحيلة.

مؤشرات الاكتشاف

الاستجابة واحتواء الأثر

  1. إبطال شامل للجلسات وإجبار جميع المستخدمين على تسجيل الدخول من جديد.
  2. تعطيل مؤقت لنقطة إعادة التوجيه حتى إصلاح التحقّق.
  3. تطبيق قائمة بيضاء للدومينات المسموح بها في باراميتر next أو استخدام رموز مسارات داخلية فقط.
  4. فرض MFA على كل الحسابات الحساسة وتقليل زمن صلاحية الرموز.
  5. إضافة قواعد في WAF وSIEM لرصد أنماط إعادة التوجيه غير الاعتيادية.

تحسينات وقائية

الدروس المستفادة