مشاهدة النسخة كاملة : ((حصرى))الدرس الثانى سد و ترقيع جميع الثغرات و حماية المنتدى (الدرس الثانى)


Rss
12-12-2010, 08:50 PM
السلام عليكم ورحمة الله وبركاته

بعد أن قمنا بتطبيق الدرس الأول و هو مجرد تركيب للسيرفر الشخصي و عمل قاعدة بيانات و تركيب نسخة منتدى vB ، كل هذا فقط لتسهيل علينا عناء التطبيق مباشرة على الموقع و ايضاً للتجربه و من ثم التطبيق المباشر على الموقع بعد ان يكون كل شئ تمام http://www.mtwer.com/vb/images/smilies/mad.gif

اليوم سنقوم بعمل ترقيعات بسيطه لبرنامج الـ vBulletin و طبعاً ليست مثل الترقيعات التي كنا نسمع عنها قديماً مثل ثغره بالمتواجدون الأن و ثغره بالتقويم و ثغره بالأسئله الشائعه http://www.mad3om.com/images/smilies/nosweat.gif لا لا إحتمال هذا كان يوجد في النسخ القديمه لكن النسخ الجديده اكثر حمايه و امان من النسخ القديمه ( لذلك ننصح بالترقيه المستمر إلي آخر إصدار حتى نتفادي أي اخطاء برمجيه او ثغرات في الإصدارات القديمه )

سنقوم في هذا الدرس بعمل ترقيعات لثغرات خفيفه مثل ثغره التحويل ( و التي يمكن سدها عن طريق الكلمات الممنوعه ) و لكن سنقوم سدها عن طريق التعديل على الملفات حتى لا نسبب بعض المشاكل في المنتدى بسبب منع كلمات يمكن ان تكون ضرورية لصاحب المنتدى http://www.mtwer.com/vb/images/smilies/tongue.gif


يلا مش هكتر عليكم في الكلام و هنبدأ بالشرح بإذن الله حتى لا يحدث اي ملل http://www.mtwer.com/vb/images/smilies/biggrin.gif خصوصاً انه الدرس هيكون اليوم كله تعديلات على ملفات و اضافات فسوف يكون الدرس شرح كتابي ..
ثغرة التحويل :-
نقوم بفتح الملف newthread.php بأي محرر نصي و ليكن الـ Notepad .

نقوم بالبحث عن الكود التالي

$newpost['title'] =& $vbulletin->GPC['subject'];

نقوم بإستبداله بالكود التالي
كود:

//------------ Protect-Sites.CoM ---------------
$bandWordsR=strtolower(& $vbulletin->GPC['subject']);
if(!(eregi('content',$bandWordsR)
or eregi('*******',$bandWordsR)
or eregi('*****',$bandWordsR)
or eregi('<meta>',$bandWordsR)
or eregi('meta',$bandWordsR)))
{
$newpost['title'] =& $vbulletin->GPC['subject'];
}
else
{
$newpost['title'] =htmlspecialchars_uni(& $vbulletin->GPC['subject']);
}
if( eregi('script',$bandWordsR)
and eregi('window',$bandWordsR)
and eregi('javascript',$bandWordsR)
and eregi('location',$bandWordsR))
$newpost['title'] ='';


//------------ Protect-Sites.CoM ---------------


لو قمنا بالتدقيق بالكود نلاحظ انه يوجد به الكلمات التي نقوم بمنعها و للمعلوميه هذه الكلمات الممنوعه تكون ممنوعه في محتوى الموضوع او عنوان الموضوع أي لا تؤثر على شئ ثاني في المنتدى http://www.mad3om.com/images/smilies/icon26.gif

-- إنتهينا من سد ثغرة التحويل عن طريق الكود الذي يتم وضعه بالمواضيع

ثغرة التحويل بهاك الإهداءات :-

كل ما عليك هو تركيب الإصدار الجديد منه و هو الإصدار الخامس .. حيث عند تركيبك للإصدار الجديد لن تحتاج الي التعديل على ملفات و سد اي ثغرات حيث تم سد الغرات بالإصدار الجديد و خالي من اي مشاكل .

بعد ذلك نقوم إضافة هاك منع استغلال ثغرة التحويل في الاحصائيات + آخر عشر مواضيع والهاك موجود بالمرفقات بإسم product-protect_from_xss

ملاحظات مهمه :-
- تأكد من انه تم تعطيل لغه الـ HTML من جميع اقسام المنتدى .
- تأكد من ان الهاكات التي تقوم برفعها خاليه من الثغرات و ايضاً عليك الترقيه المستمره لأي هاكات يتم صدور اصدار جديد منها حتى تتفادي اي ثغرات موجوده بالإصدارات القديمه .

------------------ إنتهينا من سد ثغرات التحويل و ترقيعها ------------------

الأن نأتي إلي سد الثغرات التي تتعلق بالإستايل و إختراق الإستايل .

سنقوم الأن بترقيع ثغرة spacer_open و spacer_close .. تابع معي ،

نقوم بفتح الملف global.php الموجود داخل مجلد المنتدى الرئيسي بأي محرر نصي و ليكن Notepad

نقوم بالبحث عن
كود:

fetch_template('spacer_open')


نقوم بتغير spacer_open إلي أي أسم نريده .

مثال قمت بتغيره إلي magic_open فأصبح الكود على الشكل التالي
كود:

fetch_template('magic_open')

ثم نقوم بالبحث عن
كود:
fetch_template('spacer_close')


و نقوم بتغير spacer_close إلي اي اسم أخر و لكن ليس نفس الإسم الذي قمنا بتغيره في الخطوه السابقه

مثال قمت بتغيره إلي magic_close فأصبح الكود على الشكل التالي
كود:

fetch_template('magic_close')





قم بحفظ الملف بعد ذلك

الأن نقوم بالذهاب الي لوحة التحكم admincp و من ثم نقوم بإختيار خيارات الإستايلات و القوالب > التحكم بالإستايلات

ثم نقوم بالضغط على إضافة قالب جديد

نضع مكان إسم القالب أول اسم قمنا بتغيره ( أنا قمت بتغيره إلي magic_open )

ثم نضع الكود التالي في محتوى القالب
كود:

<!-- open content 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]; text-align:$stylevar[left]">
<div style="padding:0px $stylevar[spacersize]px 0px $stylevar[spacersize]px">
</if>

ثم اضغط حفظ

ثم نقوم بإضافة قالب جديد مره أخرى

نضع مكان إسم القالب أول اسم قمنا بتغيره ( مثلاً انا قمت بتغيره إلي magic_close )

ثم نضع الكود التالي في محتوى القالب
كود:

<if condition="$show['old_explorer']">
</td></tr></table>
<else />
</div>
</div>
</div>
</if>
<!-- / close content container -->


ثم اضغط حفظ

نقوم بطبيق هذا على جميع الإستايلات التي تستخدمها ..

الأن باقي عليك رفع هاك تعطيل تلغيم الإستايل و هو موجود بالمرفقات .

----------------- إنتهينا من حماية الإستايل -----------------

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

يتم حل هذه الثغره عن طريق تفعيل صورة التحقق في التسجيل و تكون عن طريق التالي

خيارات المنتدى > خيارات تسجيل الأعضاء > التحقق من الصورة ( إختر نعم )

----------------- إنتهينا من ثغرة فلود التسجيل -----------------

إلي درس قادم أقوى بإذن الله ،،
اخوكم معشوق الجماهير