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

مشاهدة النسخة كاملة : [شرح] حماية المنتدى من الاختراق (1)


abohmam
15-08-2007, 06:58 PM
هذا الشرح منقول من معهد ترايدنت

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

كثير من اصحاب المنتديات يعانون من مشاكل الاختراق

طرق الاختراق تكون من عدة اسباب

هي:

اختراق جهاز صاحب الموقع
الاختراق عن طريق الثغرات

قبل ان نبدأ الشرح احببت ان ابلغ عن نقطه وهي الموضوع سوف يتجدد كل (6) شهور إن وجدت ثغرات جديدة

نبدأ شرح كيفية حماية المنتدى من المتطفلين الهكر:

ملاحظة هامة: يجب اخذ نسخة احتيطاية قبل التعديل على اي ملف

اولا: وضع جدار ناري على اهم المجلدات

اذهب الى لوحة تحكم موقعك Cpanel عن طريق هذا الرابط

http://www.xxx.com/cpanel
او
http://www.xxx.com:2082

http://www.abc4web.net/vb/imgcache/2175.png

User name: ادخل اسم المستخدم للوحة تحكم موقعك
Password: ادخل الرقم السري للوحة تحكم موقعك

ثم إضغط OK

اذهب الى Password Protect Directories

http://www.abc4web.net/vb/imgcache/2176.png

اذا على ايقونة ملف منتداك الرئيسي وغالبا مايكون vb

http://www.abc4web.net/vb/imgcache/2177.png

اضغط على اسم ملف ملف لوحة تحكم منتداك وغالبا مايكون admincp

http://www.abc4web.net/vb/imgcache/2178.png

ضع علامة صح في المربع

ثم إضغط save

http://www.abc4web.net/vb/imgcache/2179.png

ثم إضغط Go Back

http://www.abc4web.net/vb/imgcache/2180.png

User Name: ضع إسم المستخدم للجدار الناري
Password: ضع الرقم السري للجدار الناري

ثم إضغط على Add/modify authorized user

http://www.abc4web.net/vb/imgcache/2181.png

اذا ظهرت لك هذه الرسالة

User Modified
The user اسم مستخدم الجدار الناري now has the password الرقم السري للجدار الناري .

فأنت في السليم :)

http://www.abc4web.net/vb/imgcache/2182.png

الان اذهب الى لوحة تحكم منتداك لتتأكد من العملية

http://www.xxx.com/vb/admincp

User name: ضع اسم مستخدم الجدار الناري
Password: ضع الرقم السري للجدار الناري

ثم إضغط OK

http://www.abc4web.net/vb/imgcache/2183.png

نعمل مثل الخطوات على المجلدان (modcp - includes)

انتهى شرح الجدار الناري

ثانيا: تغيير إسم هذه المجلدات (admincp - modcp - install)

هذا الشرح سوف ينقسم الى قسمان

القسم الاول: تغيير اسماء المجلدان (admincp - modcp)

اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وغير اسماء المجلدات (admincp - modcp) الى الاسم الذي تريده

ثم includes ثم اذهب الى ملف config.php

وابحث عن

$config['Misc']['admincpdir'] = 'admincp';
واستبدل admincp الى الاسم الذي استبدله بالسابق
وابحث عن
$config['Misc']['modcpdir'] = 'modcp';واستبدل modcp الى الاسم الذي استبدلته بالسابق

واحفظ الملف

انتهى القسم الاول

القسم الثاني: تغيير اسم المجلد install

اذهب الى الـ FTP وغير اسم المجلد install الى اي اسم تريده

انتهى شرح تغيير اسماء المجلدات

ثالثاً: وضع الكلمات الممنوعة

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

http://www.abc4web.net/vb/imgcache/2184.png

اذهب الى خيارات الرقابة ثم إضغط على تعديل الإعدادات

http://www.abc4web.net/vb/imgcache/2185.png

تفعيل الرقابة: إختار نعم
الرمز لاستبدال الكلمات الممنوعة: ضع الرمز الذي تريد به استبدال الكلمات الممنوعة
الكلمات الممنوعة: ضع في هذا المربع الكلمات الموجودة في المرفقات
إزالة أحرف ASCII الفارغة: اتركه كما هو

ثم إضغط حفظ

http://www.abc4web.net/vb/imgcache/2186.png

ملاحظة: اذا كنت مركب هاك الإهدائات فيلزم وضع هذه الكلمات الممنوعة

انتهى شرح وضع الكلمات الممنوعة

رابعاً: ترقيع ثغرة التحويل

هام جداً: توجد كلمات ممنوعة فأستخدم الملف المرفق

اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف newthread.php

وابحث عن

############### SET PHP ENVIRONMENT ###################

اضف قبله

function BmTar($x)
{
$bandWords=strtolower($x) ;
if(!(eregi('content',$bandWords)
or eregi('*******',$bandWords)
or eregi('equiv',$bandWords)
or eregi('******',$bandWords)
or eregi('******',$bandWords)
or eregi('<meta',$bandWords)))
{
if( !(eregi('script',$bandWords)
and eregi('window',$bandWords)
and eregi('javascript',$bandWords)
and eregi('********',$bandWords))) ; else $x='';
} else $x='';
return $x;
}

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

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

استبدله بـ

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

احفظ الملف

اذا كنت مركب هاك الإهدائات فأفعل الاتي:

افتح ملف ehdaa.php

ابحث عن

################ SET PHP ENVIRONMENT ###################

اضف قبله

function BmTar($x)
{
$bandWords=strtolower($x) ;
if(!(eregi('content',$bandWords)
or eregi('*******',$bandWords)
or eregi('equiv',$bandWords)
or eregi('******',$bandWords)
or eregi('******',$bandWords)
or eregi('<meta',$bandWords)))
{
if( !(eregi('script',$bandWords)
and eregi('window',$bandWords)
and eregi('javascript',$bandWords)
and eregi('********',$bandWords))) ; else $x='';
} else $x='';
return $x;
}

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

$tableehdaa = iif($vbulletin->options['ehdaa_add_setting'] AND !can_moderate(), 'ehdaa_w', 'ehdaa');

اضف قبله

$vbulletin->GPC['msg']=BmTar($vbulletin->GPC['msg']);
$vbulletin->GPC['home']=BmTar($vbulletin->GPC['home']);

واحفظ الملف

انتهى شرح ترقيع ثغرة التحويل

خامساً: ترقيع ثغرة announcement.php وforumdisplay.php (الإعلانات)

اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف announcement.php

وابحث عن

$postbit_obj =& $postbit_factory->fetch_postbit('announcement');

اضف اسفله

$changesomechars = array('\&quot;','\'','|','(',')',':','&amp;','$','<','>','"');
$newchars = array('&quot;',''','l','(',')',':','&','$','&lt;','&gt;','&quot;');
$post[title] = str_replace($changesomechars, $newchars,$post[title]);
$post[title] = strip_tags($post[title]);

احفظ الملف

افتح ملف forumdisplay.php

ابحث عن

fetch_musername($announcement);

اضف اسفله

$changesomechars = array('\&quot;','\'','|','(',')',':','&amp;','$','<','>','"');
$newchars = array('&quot;',''','l','(',')',':','&','$','&lt;','&gt;','&quot;');
$announcement['title'] = str_replace($changesomechars, $newchars,$announcement['title']);
$announcement['title'] = strip_tags($announcement['title']);

واحفظ الملف

انتهى شرح ترقيع ثغرة announcement.php وforumdisplay.php (الإعلانات)

سادساً: ترقيع ثغرة sql

اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف inlinemod.php

وابحث عن:

foreach ($postids AS $index => $postid)
{
if ($postids["$index"] != intval($postid))
{
unset($postids["$index"]);
}
}

استبدله بـ

foreach ($postids AS $index => $postid)
{
$postids["$index"]=(int)$postids["$index"];
}

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

foreach ($threadids AS $index => $threadid)
{
if ($threadids["$index"] != intval($threadid))
{
unset($threadids["$index"]);
}
}

استبدله بـ

foreach ($threadids AS $index => $threadid)
{
$threadids["$index"]=(int)$threadids["$index"];
}

واحفظ الملف

انتهى شرح ترقيع ثغرة sql

سابعاً: ترقيع ثغرة قالب الـ forumhome


اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف newthread.php

وابحث عن

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

استبدله بـ

$newpost['title'] =htmlspecialchars_uni(& $vbulletin->GPC['subject']);
// $newpost['title'] =& $vbulletin->GPC['subject'];

واحفظ الملف

انتهى شرح ترقيع ثغرة forumhome

ثامناً: ترقيع ثغرة فلود التسجيل اكثر من 3000 اسم

اضغط على خيارات المنتدى واختار منها خيارات المنتدى

http://www.abc4web.net/vb/imgcache/2184.png

اختار إعدادات الصور ثم إضغط على تعديل الإعدادات

http://www.abc4web.net/vb/imgcache/2187.png

مكتبة معالجة الصورة: اختار الخيار GD

مكتبة التحقق من الصورة: اختار الخيار GD (خط بسيط) وإضغط حفظ

http://www.abc4web.net/vb/imgcache/2188.png

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

واختار خيارات تسجيل الأعضاء

http://www.abc4web.net/vb/imgcache/2189.png

التحقق بالصور: اختار نعم

واضغط حفظ

http://www.abc4web.net/vb/imgcache/2190.png

انتهى شرح ترقيع ثغرة فلود التسجيل اكثر من 3000 اسم

انتهى شرح حماية المنتدى من الاختراق

أمل اني قد افدتكم

ولاتنسوني من الدعاء عن ظهر غيب

مع اطيب التمنيات

اخوكم
مغرور قطر

جارى التجربة
وأى إستفسار بعد التجربة إن شاء الله
لأنى لاحظت وجود أكواد مكررة

أبــ فادي ــو
15-08-2007, 09:00 PM
شكرا لك ابو همام على هذه المشاركة القيمة، جزاك الله خيرا، بارك الله فيك ...

الروقـي
16-09-2007, 08:02 AM
شكرا لك على هذه المشاركة القيمة، جزاك الله خيرا، بارك الله فيك ...

mohamed shawkey
03-03-2008, 07:59 PM
Thanxxxxxxxxxxxxxxxxxxxxxxxx

abohmam
03-03-2008, 11:50 PM
شكرا لك ابو همام على هذه المشاركة القيمة، جزاك الله خيرا، بارك الله فيك ...

شكرا لك على هذه المشاركة القيمة، جزاك الله خيرا، بارك الله فيك ...

Thanxxxxxxxxxxxxxxxxxxxxxxxx

بارك الله فى تواجدكم جميعا إخواني

أشكر لكم تواصلكم

حفظكم المولى

أبــ فادي ــو
04-03-2008, 12:48 AM
حاولت حفظ الصفحة

اخي ابو همام

ولكن تظهر رسالة لايمكن حفظ الصفحة

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

abohmam
08-03-2008, 12:49 PM
حاولت حفظ الصفحة

اخي ابو همام

ولكن تظهر رسالة لايمكن حفظ الصفحة

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

حياك الله أخى ابا فادى

تستطيع الحفظ بإمتداد html وليس Mhtl

موفق بإذن الله ... لك مني أجمل تحية .