
MicroWeber - كشف قاعدة بيانات المستخدمين دون مصادقة - CVE-2020-13405
MicroWeber هو نظام إدارة محتوى (CMS) مفتوح المصدر مكتوب بلغة PHP. يسمح لمسؤولي الويب ببناء موقع ويب بسهولة عن طريق سحب وإفلات المكونات في الأماكن التي يريدونها. وهو خيار شائع بين أولئك الذين يتطلعون إلى إنشاء موقع ويب سهل الإعداد وقابل للتخصيص بدرجة كبيرة.
يسمح ملف userfiles/modules/users/controller/controller.php في Microweber قبل الإصدار 1.1.20 لمستخدم غير مصادق عليه بالكشف عن قاعدة بيانات المستخدمين عبر طلب POST إلى /modules/.
عندما يرسل المهاجم طلب POST إلى نقطة النهاية هذه، يؤدي ذلك إلى الكشف غير المصرح به عن معلومات المستخدمين الحساسة، بما في ذلك أسماء المستخدمين وكلمات المرور وعناوين البريد الإلكتروني، من قاعدة بيانات المستخدمين.

باعتباره نظام إدارة محتوى قائمًا على PHP، يستخدم MicroWeber مجموعة متنوعة من نصوص PHP البرمجية لإدارة وظائفه المتعددة. هذا التصميم المتأصل يجعل MicroWeber قابلاً للتكيف بدرجة كبيرة، مما يمكّن المستخدمين من دمج نصوصهم البرمجية الخاصة بسلاسة أو تعديل النصوص الموجودة بسهولة، مما يوفر وسيلة لتخصيص تشغيل نظام إدارة المحتوى وفقًا للتفضيلات الفردية.
تم اكتشاف الثغرة في السكربت “controller.php”، وهو جزء من وحدة المستخدمين في MicroWeber.
<?php
dd(User::all());
يكشف هذا المقتطف البرمجي عن وجود ثغرة أمنية خطيرة في سكربت "controller.php" في وحدة مستخدمي MicroWeber. يشير الكود dd(User::all()); إلى أنه يحاول تفريغ وعرض جميع سجلات المستخدمين من قاعدة البيانات باستخدام طريقة User::all().
الآن، بمجرد حفظ ملف PoC من هنا، ثم.. تحتاج إلى فتح الطرفية وتشغيل خادم بايثون: python -m SimpleHTTPServer 4444
الآن، انتقل إلى المتصفح وقم بتحميله.
استمتع! استخدم محرك بحث censys للعثور على هدف بإصدار أقدم من 1.1.20.