
إثبات مفهوم لسكربت يوضح تعداد المستخدمين في LiquidFiles عبر نقطة نهاية إعادة تعيين كلمة المرور، مما يتيح تحديد المستخدمين الصالحين لهجمات القوة العمياء.
تم تحديد هذه الثغرة في الإصدار 4.1 من LiquidFiles والإصدارات الأقدم.
عند بدء إعادة تعيين كلمة المرور عبر نقطة النهاية “POST /password_reset”، يستجيب التطبيق بشكل مختلف اعتمادًا على ما إذا كان عنوان البريد الإلكتروني المُدخل مسجلاً أم لا. يتم إصدار إعادة توجيه في كلتا الحالتين، ويتضمن الرد ملف تعريف الارتباط “_filetransfer_session”. عند استخدام ملف تعريف الارتباط هذا للوصول إلى المسار الجذر (“/”)، تختلف رسالة الخطأ الناتجة بناءً على صحة عنوان البريد الإلكتروني المُرسل.
يسمح هذا فعليًا للمهاجم بتجميع قائمة بالمستخدمين الصالحين، والتي يمكن بعد ذلك استغلالها في هجمات مثل هجمات التخمين القسري أو رش كلمات المرور.
استجابة إعادة تعيين كلمة المرور – المستخدمون الموجودون/الصالحون
استجابة إعادة تعيين كلمة المرور – المستخدمون غير الموجودين/غير الصالحين
بعد عدة محاولات لإعادة تعيين كلمة المرور، يتم تفعيل قفل قائم على عنوان IP كإجراء أمني، مما يمنع المزيد من الطلبات من نفس عنوان IP. ومع ذلك، فإن هذه الآلية غير كافية، حيث يمكن تجاوزها باستخدام أدوات مجانية. على سبيل المثال، يمكن التحايل على القفل باستخدام بروكسيات AWS API Gateway مع امتداد “IP Rotate” في Burp Suite. يتوقع البرنامج النصي وجود بروكسي محلي على المنفذ 8080.
التطبيق المستخدم لتجاوز القفل القائم على عنوان IP:
يتيح هذا التباين في رسائل الخطأ التعداد الآلي لأسماء المستخدمين أو عناوين البريد الإلكتروني الصالحة. لإثبات ذلك، قمت بإنشاء برنامج نصي لإثبات المفهوم يأخذ قائمة بعناوين البريد الإلكتروني المسجلة المحتملة ويحدد العناوين الصالحة بناءً على سلوك استجابة التطبيق.
مخرجات البرنامج النصي لتعداد المستخدمين:

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