
ثغرة تجاوز التحقق من المصادقة المستندة إلى رقم التعريف الشخصي (PIN) في Kaiten
Kaiten - نظام إدارة سير العمل. تسمح ثغرة أمنية في Kaiten للمهاجمين بتجاوز آلية مصادقة رمز PIN. يتطلب التطبيق من المستخدمين إدخال رمز PIN مكون من 6 أرقام يُرسل إلى بريدهم الإلكتروني للتحقق بعد إدخال بيانات تسجيل الدخول. ومع ذلك، يمكن تجاوز آلية الحد من الطلبات بسهولة، مما يتيح للمهاجمين تنفيذ هجوم تخمين (brute force) لتخمين رمز PIN الصحيح والحصول على وصول غير مصرح به إلى التطبيق.
التفاصيل:
تستخدم آلية المصادقة عاملاً واحدًا يُرسل عبر البريد الإلكتروني، بدون أي كلمة مرور :)
يمكن تحقيق تجاوز حدود المعدل باستخدام الرأس X-Forwarded-For، الذي يسمح بإعادة تعيين العداد X-RateLimit-Remaining.

تمكن هذه الطريقة من استمرار الطلبات دون تلقي استجابات HTTP 429 Too Many Requests، والتي تحدث عادة بعد عدة محاولات.

كما لا توجد حدود لطلب رمز PIN جديد => يمكن للمهاجم تخمين رمز PIN باستخدام هجوم التخمين. مدة صلاحية رمز PIN هي 5 دقائق، وبالتالي فإن المهاجم لديه 5 دقائق لمحاولة تخمين رمز PIN المكون من 6 أرقام. مع ~150 طلب في الثانية يمكن للمهاجم تجربة ~45,000 رمز PIN. بعد كل المحاولات، مع الحسابات الرياضية، يمكن الوصول إلى احتمال نجاح 50% خلال 33 دقيقة و100% خلال 4 ساعات.
الإصدارات المعرضة للخطر:
<= 57.131.12
الروابط:
قم بتنزيل السكريبت bash البسيط وتشغيله مع اسم المستخدم المحدد (فقط تسجيل الدخول، وليس البريد الإلكتروني!)
bash CVE-2024-41276.sh <input_user> <kaiten.example.com>
النتيجة: نتيجة ناجحة => الحصول على كوكي صالح لاستخدام إضافي
