المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : شرح طريقة حماية المنتدى من الأختراق وترقيع كافة ثغراته


فارس قطر
08-01-09, 02:18 AM
شرح طريقة حماية المنتدى من الأختراق وترقيع كافة ثغراته







طبعاً كما انت عارفين إن النسخ الجديده محدثه ونادر جداً نجد الاخطاء البرمجيه في اكواده



لكننا اليوم سنرقع ثغرات الهاكات المصابه وثغرة التحويل والحماية الازم منها كزيادة للأمان إن شاء الله ..



درسنا خفيف وسهل قم بتطبيقة معي .





ثغره التحويل :



أفتح ملف newthread.php بمحرر نصوص كما تعودنا



وابحث عن :

كود PHP:
$newpost['title'] =& $vbulletin->GPC['subject'];


أستبدله بالاتي :

كود PHP:
//#--------------------------------------
$bandWordsR=strtolower(& $vbulletin->GPC['subject']);
if(!(eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة',$bandWordsR)
or eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة',$bandWordsR)
or eregi('equiv',$bandWordsR)
or eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة>',$bandWordsR)
or eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة',$bandWordsR)))
{
$newpost['title'] =& $vbulletin->GPC['subject'];
}
else
{
$newpost['title'] =htmlspecialchars_uni(& $vbulletin->GPC['subject']);
}
if( eregi('script',$bandWordsR)
and eregi('window',$bandWordsR)
and eregi('',$bandWordsR)
and eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة',$bandWordsR))
$newpost['title'] ='';


//#--------------------------------------



اما ثغره الSQL اللذي قالو عنها كثير من الاخوان في ملف Faq.php فهي ليست بصحيحه والفيبلتون ماراح تغفل عن شي مثل هذا ..



فنحن نتكلم لزيادة الأمان .

الحيين نرقع ثغره [spacer_close]و [spacer_open]


اذهب إلى ملف global.php

http://www.hakhak.com/vb/imgcache/7446.imgcache.gif


ابحث عن :


كود PHP:
eval('$spacer_open = "' . fetch_template('spacer_open') . '";');


استبدلspacer_open التي في الأخير وليست داخل المتغير $
بأي إسم تريده

انا سأسميه D7ME

هكذا :

كود PHP:
eval('$spacer_open = "' . fetch_template('D7ME') . '";');


ايضاً ابحث عن :

كود PHP:
eval('$spacer_close = "' . fetch_template('spacer_close') . '";');


استبدل spacer_close ايضاً بأي إسم تريده


انا سأسميه D7ME1
هكذا :

كود PHP:
eval('$spacer_close = "' . fetch_template('D7ME1') . '";');


احفظ الملف وارفعه .



الآن اذهب إلى لوحة التحكم admincp


اذهب إلى التحكم بالاستايلات





http://www.hakhak.com/vb/imgcache/7447.imgcache.gif







اسمه بنفس الاسماء التي ذكرتها

الأول الذي هو بدل قالب [spacer_open]



انا اسميته بD7ME اذاً اسمه بنفس ماسميته لكي المتغير $spacer_open يجلب لك قالب الD7ME الذي اسمته انت وضع فيه الآتي :


كود PHP:
<!-- open كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة container -->
<if condition="$show['old_explorer']">
<table cellpadding="0" cellspacing="0" border="0" width="$stylevar[outertablewidth]" align="center"><tr><td class="page" style="padding:0px $stylevar[spacersize]px 0px $stylevar[spacersize]px">
<else />
<div align="center">
<div class="page" style="width:$stylevar[outerdivwidth]; كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة-align:$stylevar[left]">
<div style="padding:0px $stylevar[spacersize]px 0px $stylevar[spacersize]px">
</if>


احفظ



-----------



ايضاً اضف قالب جديد



واسمه بالاسم الآخر لكي يجلب لك القالب بمتغير $spacer_close



وضع فيه الآتي :
كود PHP:
<if condition="$show['old_explorer']">
</td></tr></table>
<else />
</div>
</div>
</div>
</if>
<!-- / close كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة container -->


طبق هالشرح على الاستايلات الذي تستخدمها بالمنتدى ..





-------------------------




حل ثغره الفلود بتسجيل الاسماء والتي تجعل تسجيل ما يقارب 2000 عضو في دقائق

وايضاً الفلود بأرسال رسائل للمشرف العام عن طريق خاصية الاتصال بنا .





ثغره فلود التسجيل :




اذهب إلى خيارات المنتدى



ثم



http://www.hakhak.com/vb/imgcache/7448.imgcache.gif




ثم




http://www.hakhak.com/vb/images/statusicon/wol_error.gifنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
http://www.hakhak.com/vb/imgcache/7449.imgcache.gif




:: الارسال ::



اذهب إلى >> خيارات المنتدى >> اسم الموقع / الوصلات / المراسلة و الاتصال





http://www.hakhak.com/vb/images/statusicon/wol_error.gifنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
http://www.hakhak.com/vb/imgcache/7450.imgcache.gif




-------------




ايضاً نقطه مهمه وهي تلغيم الاستايل لرفع شيل بواسطة المتصفح


:: تحميل البرودكت ::

لايمكن للاعضاء اقل من 1 مشاركه مشاهده الروابط الا بعد الرد ,, لديك الان 0 مشاركه (http://www.hakhak.com/vb/$post[replylink])


---------------






الحين لازم نرقع ثغرة الهاكات الي نضيفها في حال وجود ثغرات ومنها هاك الاهداءات




نحمل ملف الاهداء الي بالسي بانل داخل مجلد الفي بي ويكون اسم الملف ehdaa.php




نفتح الملف ونبحث عن :

كود PHP:
################ SET PHP ENVIRONMENT ###################


كود PHP:
function BmTar($x)
{
$bandWords=strtolower($x) ;
if(!(eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة',$bandWords)
or eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة',$bandWords)
or eregi('equiv',$bandWords)
or eregi('ie',$bandWords)
or eregi('******',$bandWords)
or eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة',$bandWords)))
{
if( !(eregi('script',$bandWords)
and eregi('window',$bandWords)
and eregi('',$bandWords)
and eregi('كلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعةكلمة ممنوعة',$bandWords))) ; else $x='';
} else $x='';
return $x;
}


بنفس الملف نبحث عن :


كود PHP:
$tableehdaa = iif($vbulletin->options['ehdaa_add_setting'] AND !can_moderate(), 'ehdaa_w', 'ehdaa')


اضف فوقه :

كود PHP:
$vbulletin->GPC['msg']=BmTar($vbulletin->GPC['msg']);
$vbulletin->GPC['home']=BmTar($vbulletin->GPC['home']);


سوي حفظ للملف




الآن يتم اضافة هاك منع استغلال ثغرة التحويل في الاحصائيات + آخر عشر مواضيع




طبعاًَ الهاك معروف واسمه

product-protect_from_xss


الهاك بالمرفقات بإمكانكم تحميله

التحذيرات الهامة للهاكات المصابة وننصح بعدم استخدامها نهائياً :


هاك


Site Map Creator


الاصدار

2.4


الثغرة المصاب بها تمكن المخترق من استغلال الهاك لزراعة الشل في اي مجلد يحمل التصريح 777 او حتى البحث عن الملفات الي تدل على الكونفيج الحقيقي

\\

هاك

ibProArcade


الاصدار

2.x


الثغرة المصابة يستيطع المخترق الاتصال بالقاعدة مباشرتاً دون الحاجة لرفع شل او البحث عن الكونفيج الحقيقي اساساً


---------------

أضيف على ذلك ملاحظات مهمه :

اولاً :

نعتذر لكم بالدرس الماضي طلبت منكم تشفير ملف global.php لأانه مهم جداً تشفيره

لكننا اليوم سنحتاجه لترقيع ثغره ال[spacer_close] و [spacer_open]

لمن شفره يأتي بملف جديد مناسب لنسخة منتداه وها قد ارفقت لكم ملف جاهز للنسخه 3,7,2


ثانياً :

شيكو على المنتديات


كافة صلاحيات أقسام المنتدى





http://www.hakhak.com/vb/images/statusicon/wol_error.gifنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
http://www.hakhak.com/vb/imgcache/7451.imgcache.gif


في جميع الأقسام لأنه سوف يتم معرفة ذلك من خلال


http://www.hakhak.com/vb/imgcache/7452.imgcache.gif

وسيتم تطبيق اكواد Html خطيره على المنتدى فحصرو من هالنقطه البسيطه ..

-------------------------

* واحرصو كل الحرص ان تركبو لموقعكم سكربت منزوع كود من فريق غير موثوق به ,,

------------------------


كذا انتيهنا بحمد الله وتوفيقه

اي اضافة استفسارات عن الدرس فقط وعن ثغرات الvBulletin يتم اضافتها وقبل اضافتها التأكد منها .


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



منقول للفاعدة

يونس المشوشي
12-01-09, 10:06 PM
شكرن على الشرح الجميل اخي فارس قطر