تراجع إلى الخلف   :: TRAIDNT FORUM :: > قسم تطوير المنتديات > ركن تطوير منتديات vb3.8.0 > ركن ثغرات النسخه الثالثه

ركن ثغرات النسخه الثالثه لجميع النسخ التاليه : [vB3.8.0] +[vB3.7.0] +[vB3.6.0] + [vB3.5.0] + [vB3.0.0] : هذا الركن لايقبل إضافة أي مشاركه

[ثغرة] Path Disclosure في نسخ vBulletin 3.5.0

اقتباس   المشاركة الأصلية أضيفت بواسطة : العندليب السلام عليكم ورحمة الله وبركاته بدأت منذ أسبوع فتح ملفات نسخة vBulletin 3.5.0 العجيبه والتي تسعى مجموعة

 
  #1  
قديمة 12 - 09 - 2005, 08:14 x_5 متواجد حاليآ بالمنتدى
صورة 'x_5' الرمزية
x_5
:: TRAIDNT ::
:: رفيق الدرب ::
بيانات موقعي
اسم الموقع: vbulletin.ae
اصدار المنتدى: :: مجتمع ترايدنت ::
 






x_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدودx_5 مبدع بلا حدود

اقتباس
  المشاركة الأصلية أضيفت بواسطة : العندليب
السلام عليكم ورحمة الله وبركاته

بدأت منذ أسبوع فتح ملفات نسخة vBulletin 3.5.0 العجيبه والتي تسعى مجموعة jelsoft أن تجعلها نسخ ثابته في الأشهر القادمه ووصلت بتطويرها حتى الان الى إصداره أسمتها Candidate 3 وهذا يعني أن النسخه ثبتت بعد إصدارات البيتا التي طرحتها منذ فتره وعلى مايبدوا أنها ستطلق النسخه الرسميه الثابته على بداية العام الجديد 2006م وأرى أن بعض الأخوان هنا بسوالف تسرع بتركيب هذه النسخه والتي لا يعلم أحد عنها سوى خاصية الـ plugins و الـ ajax .

قمت بالبحث عن الثغرات في هذه النسخه وهذا أول الخير بإذن الله
ثغره من نوع Path Disclosure ومستواها متوسط وعن طريقها يستطيع المخترق معرفة دليل الموقع موجود بأي مكان على الخادم

الثغره موجوده في ملف class_core.php وبالتحديد في سطر رقم 1365
رمز PHP:
            foreach ($this->superglobal_lookup AS $arrayname)
            {
                
$registry->superglobal_size["$arrayname"] = sizeof($GLOBALS["$arrayname"]);

                foreach (
array_keys($GLOBALS["$arrayname"]) AS $varname)
                {
                    unset(
$GLOBALS["$varname"]);  <<------ تقوم بإزالة المتغيرات من المصفوفه العامه وهنا الخطأ حيث يجب ان تتأكد من المتغير قبل إزالته وكما تلاحظون لا يوجد شرط للتحقق
                
}
            } 
الترقيع:
1- افتح ملف class_core.php وابحث عن السطر التالي :
رمز PHP:
unset($GLOBALS["$varname"]); 
2- إستبدله بالأتي:
رمز PHP:
        if( !in_array($varname$this->superglobal_lookup ))
             unset(
$GLOBALS["$varname"]); 
3- إحفظ الملف وقم برفعه.

تحياتي لكم




من شرح أخونا
العندليب
توقيع x_5
‏​‏​كُنْ فيْ الْحياهْ كَعابر سبيلٍ وَاتْرُكْ وراءكَ كُل أثرِ جَميل
فَما نَحنُ فِيْ الدُنيا إِلَاضُيُوْف وَما عَلى الضيوْفِ إِلَاالرحيل
واحــد مـــ x_5ـــن النـاس ©
 

العلامات المرجعية

أدوات الموضوع
طرق العرض

ضوابط المشاركة
لا يمكنك اضافة مواضيع جديدة
لا يمكنك اضافة مشاركات
لا يمكنك اضافة مرفقات
لا يمكنك تعديل مشاركاتك

رمز [IMG] : متاحة
رمز HTML : معطّلة
المراجع : معطّلة
Refbacks are متاحة




الساعة معتمدة بتوقيت جرينتش +3 . الساعة الآن : 20:49.
المعهد غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي معهد ترايدنت ولا نتحمل أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)


Powered by vBulletin® Version 3.8.7
.Copyright ©2000 - 2012, Jelsoft Enterprises Ltd

SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.