| ثغرة SQL Injection في منتديات MyBB 1.4.6 |
| الكاتب عبدالمهيمن |
| الثلاثاء, 23 يونيو 2009 17:55 |
|
انتشر بتاريخ اليوم استغلال لثغرة SQL Injection اكتشفت في جميع الاصدارات قبل 1.4.6 من منتديات MyBB المفتوحة المصدر. تم برمجة الاستغلال بطريقة تمكن المهاجم من زرع ملف php shell في السيرفر بكل سهولة ليصبح بالنهاية قادر على تنفيذ أوامر على السيرفر.
بالنسبة لسبب الثغرة فيعود لخطأ برمجي في الملف: inc/datahandlers/user.php عند تمرير المتغير birthdayprivacy وعدم التأكد من مدخلات المستخدم بطريقة صحيحة لو اطلعنا على الملف user.php في الاصدار 1.4.6 سنلاحظ بالسطر 1111 تمرير المتغير birthdayprivacy دون التأكد من مدخلات المستخدم بأي شكل كان: $this->user_update_data['birthdayprivacy'] = $user['birthdayprivacy'];أما في الاصدار 1.4.7 سنرى بنفس السطر الترقيع وهو استخدام الدالة escape_string لكي لا يتمكن المهاجم من حقن استعلام SQL آخر عند تمرير المتغير السابق للاستعلام الأصلي. $this->user_update_data['birthdayprivacy'] = $db->escape_string($user['birthdayprivacy']);الغريب في الموضوع اكتشاف ثغرة بسبب خطأ بهذه البساطة (المفروض أول شيء يتعلمه مبرمج php عند التعامل مع مدخلات المستخدم هو التأكد منها فكيف اذا كان التعامل مع مدخلات مستخدم سيتم تمريرها لقواعد بيانات!!) في سكريبت منتديات يمكننا القول أنه حقق شهرة لا بأس بها وزاد من ذلك "تفنن" المكتشف ببرمجة استغلال يزيد حجمه عن 400 سطر! الجدير بالذكر أنه تم اصلاح الثغرة بالاصدار 1.4.7 الذي صدر مسبقا بتاريخ 15 من الشهر الحالي ويمكن تحميله من هنا.
للاطلاع على الاستغلال: Milw0rm 9001 التعليقات (2)
![]() أضف تعليق
يجب عليك الاشتراك بالموقع لتتمكن من كتابة التعليقات, الاشتراك مجاني ويستغرق بضع ثوان فقط!
اذا كنت مشترك مسبقا في الموقع فضلاً قم بتسجيل الدخول. |







من جد غريب يعدي شي زي كدا على مبرمج يمرر شي للداتابيس بدون مايشيك عليه.
تحياتي