Author : Saleh
Date : 2022-03-12
----------------------------------------------------------------
السلام عليكم ورحمة الله وبركاتة
خلونا ندخل في الموضوع بشكل مباشر
لي فترة اشتغل على منصة Moodle في أحد الجهات , وهي عبارة عن بلاك بورد لإدارة المحتوى التعليمي
اضطريت ابحث عن أفضل إضافة تسوي تحقق بخطوتين اثناء تسجيل الدخول على المنصة من حساب الطالب , بحيث يتم ارسال رمز التحقق للبريد الإلكتروني بعد تسجيل الدخول
لقيت هذي الأضافة الممتازة الي يتم تحديثها أول بأول , وهي الأكثر استخدام
https://moodle.org/plugins/tool_mfa
فحصتها برمجياً قبل استخدامها, من مميزات الإضافة ان فيها إقفال للحساب بعد تجاوز الـ 10 محاولات لتخمين الـ OTP او الرمز الي يتم إرسالة عبر البريد الإلكتروني
وهذا الفانكشن increment_lock_counter هو المسؤول عن إقفال الحساب إذا تم تجاوز الحد المسموح من المحاولات
classes/local/factor/object_factor_base.php
طيب قدرت اتجاوز عملية إقفال الحساب والتخمين اكثر من 10 مرات
إذا تبي تتحدى نفسك وتحاول تتجاوزها, تقدر تحمل Moodle مع الإضافة وتثبتها على السيرفر الشخصي
رابط تحميل المنصة
https://download.moodle.org/releases/latest
رابط تحميل الإضافة:
https://moodle.org/plugins/tool_mfa
نبدأ بسم الله في طريقة التخطي
+++++++++++++++++++++++++++++++++
سجل دخول على حسابك بشكل طبيعي
بتلاحظ ان يتم إرسال رسالة على البريد تحمل رمز الـ otp وايضاً يتم إنشاء رابط للدخول المباشر
بعد ما تحمل الإضافة توجه للملف في المسار التالي : factor/email/email.php
ملف email.php هو رابط الدخول المباشر الي يتم ارسالة على ايميلك
يتحقق هذا الملف من الرمز بدون ما يتأكد من عدد المحاولات المسموحه في الفانكشن السابق increment_lock_counter
مثل ما نشوف في السطر 44 التحقق بيكون بهذا الشكل
http://127.0.0.1/moodle/admin/tool/mfa/factor/email/email.php?instance=24&pass=1&secret=123456
عندنا قيمة الـ secret الي بنخمن عليها لحد ما نوصل لرمز الدخول وبكذا بنتجاوز عدد المحاولات المسموحة
هذا فيديو قصير لتجربة الهجوم بشكل سريع
بالتوفيق للجميع
./Love to break some code