
CVE-2025-65950 - WBCE CMS معرّض لثغرة حقن SQL العمياء المعتمدة على الوقت عبر معامل groups[]
| الحقل | التفاصيل |
|---|---|
| CVE ID | CVE-2025-65950 |
| الخطورة | حرجة |
| التنبيه الأمني | عرض التنبيه |
| اكتُشف بواسطة | Lukasz Rybak |
تسمح ثغرة حرجة في حقن SQL في وحدة إدارة المستخدمين لمستخدم مصادق بصلاحيات منخفضة، لديه إذن تعديل المستخدمين، بتنفيذ استعلامات SQL عشوائية. ويمكن تصعيد ذلك إلى اختراق كامل لقاعدة البيانات وسرقة البيانات، متجاوزًا بذلك جميع الضوابط الأمنية.
توجد الثغرة في السكربت admin/users/save.php، الذي يعالج تحديثات ملفات المستخدمين. يعالج السكربت معامل groups[] المرسل من نموذج تعديل المستخدم بشكل غير سليم.
يعتمد إثبات المفهوم على استخدام حقن SQL أعمى قائم على الوقت لتأكيد تنفيذ استعلامات SQL عشوائية.
users_modify). لا يحتاج هذا المستخدم إلى أن يكون مسؤولًا كامل الصلاحيات.
خطوات إعادة الإنتاج:
a. سجّل الدخول باسم المستخدم منخفض الصلاحيات. b. انتقل إلى «الوصول» -> «المستخدمون» واختر أي مستخدم لتعديله.
c. التقط طلب POST المُرسل إلى /wbce/admin/users/save.php عند النقر على زر «حفظ».
d. عدّل معامل `groups[]` بالحمولة التالية المشفرة بعناوين URL، والتي ستحاول جعل قاعدة البيانات تنتظر لمدة 10 ثوانٍ: groups%5B%5D=2%27+%2C+%60active%60+%3D+SLEEP(10)+--+
*(الحمولة المفككة: 2' , `active` = SLEEP(10) -- )*
f. أرسل الطلب المعدّل.
3. التحقق:
مثال على سرقة البيانات: استرجاع اسم قاعدة البيانات
**مثال على حمولة لاختبار حرف:**
groups%5B%5D=2%27+%2C+%60active%60+%3D+IF(SUBSTRING(DATABASE()%2C+1%2C+1)+%3D+%27w%27%2C+SLEEP(5)%2C+0)+--+
يمكن مواصلة هذه العملية اليدوية للكشف عن اسم قاعدة البيانات بالكامل، وبالتالي أي بيانات أخرى في قاعدة البيانات.
يمكن لمستخدم منخفض الصلاحيات، الذي يُفترض أن يكون قادرًا فقط على إجراء تغييرات غير ضارة في ملفات المستخدمين، الحصول على سيطرة كاملة على قاعدة البيانات.
يشمل الأثر، على سبيل المثال لا الحصر:
تم الإفصاح عن هذه الثغرة (CVE) بشكل مسؤول وفقًا لممارسات الإفصاح المنسق عن الثغرات. المعلومات الواردة هنا لأغراض تعليمية ودفاعية فقط.