احمد مولر
08-09-2009, 01:20 AM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
كثير من اصحاب المنتديات يعانون من مشاكل الاختراق
طرق الاختراق تكون من عدة اسباب
هي:
اختراق جهاز صاحب الموقع
الاختراق عن طريق الثغرات
قبل ان نبدأ الشرح احببت ان ابلغ عن نقطه وهي الموضوع سوف يتجدد كل (6) شهور إن وجدت ثغرات جديدة
نبدأ شرح كيفية حماية المنتدى من المتطفلين الهكر:
ملاحظة هامة: يجب اخذ نسخة احتيطاية قبل التعديل على اي ملف
اولا: وضع جدار ناري على اهم المجلدات
اذهب الى لوحة تحكم موقعك Cpanel عن طريق هذا الرابط
User ****: ادخل اسم المستخدم للوحة تحكم موقعك
Password: ادخل الرقم السري للوحة تحكم موقعك
ثم إضغط OK
اذهب الى Password Protect Directories
اذا على ايقونة ملف منتداك الرئيسي وغالبا مايكون vb
اضغط على اسم ملف ملف لوحة تحكم منتداك وغالبا مايكون admincp
ضع علامة صح في المربع
ثم إضغط save
ثم إضغط Go Back
User ****: ضع إسم المستخدم للجدار الناري
Password: ضع الرقم السري للجدار الناري
ثم إضغط على Add/modify authorized user
اذا ظهرت لك هذه الرسالة
User Modified
The user اسم مستخدم الجدار الناري now has the password الرقم السري للجدار الناري .
فأنت في السليم
الان اذهب الى لوحة تحكم منتداك لتتأكد من العملية
[اخي العزيز ،، يتوجب عليك اضافة رد لرؤية الرابط]
User ****: ضع اسم مستخدم الجدار الناري
Password: ضع الرقم السري للجدار الناري
ثم إضغط OK
نعمل مثل الخطوات على المجلدان (modcp - includes)
انتهى شرح الجدار الناري
ثانيا: تغيير إسم هذه المجلدات (admincp - modcp - install)
هذا الشرح سوف ينقسم الى قسمان
القسم الاول: تغيير اسماء المجلدان (admincp - modcp)
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وغير اسماء المجلدات (admincp - modcp) الى الاسم الذي تريده
ثم includes ثم اذهب الى ملف config.php
وابحث عن
رمز PHP:
$config['Misc']['admincpdir'] = 'admincp';
واستبدل admincp الى الاسم الذي استبدله بالسابق
وابحث عن
رمز PHP:
$config['Misc']['modcpdir'] = 'modcp';
واستبدل modcp الى الاسم الذي استبدلته بالسابق
واحفظ الملف
انتهى القسم الاول
القسم الثاني: تغيير اسم المجلد install
اذهب الى الـ FTP وغير اسم المجلد install الى اي اسم تريده
انتهى شرح تغيير اسماء المجلدات
ثالثاً: وضع الكلمات الممنوعة
اذهب الى خيارات المنتدى واختار منها خيارات المنتدى
اذهب الى خيارات الرقابة ثم إضغط على تعديل الإعدادات
تفعيل الرقابة: إختار نعم
الرمز لاستبدال الكلمات الممنوعة: ضع الرمز الذي تريد به استبدال الكلمات الممنوعة
الكلمات الممنوعة: ضع في هذا المربع الكلمات الموجودة في المرفقات
إزالة أحرف ASCII الفارغة: اتركه كما هو
ثم إضغط حفظ
ملاحظة: اذا كنت مركب هاك الإهدائات فيلزم وضع هذه الكلمات الممنوعة
انتهى شرح وضع الكلمات الممنوعة
رابعاً: ترقيع ثغرة التحويل
هام جداً: توجد كلمات ممنوعة فأستخدم الملف المرفق
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف newthread.php
وابحث عن
رمز PHP:
############### SET PHP ENVIRONMENT ###################
اضف قبله
رمز PHP:
function BmTar($x)
{
$bandWords=strtolower($x) ;
if(!(eregi('****************************',$bandWor ds)
or eregi('*******',$bandWords)
or eregi('********************',$bandWords)
or eregi('******',$bandWords)
or eregi('******',$bandWords)
or eregi('************************',$bandWords)))
{
if( !(eregi('************************',$bandWords)
and eregi('******',$bandWords)
and eregi('****************************************',$ bandWords)
and eregi('********',$bandWords))) ; else $x='';
} else $x='';
return $x;
}
في نفس الملف ابحث عن
رمز PHP:
$newpost['title'] =& $vbulletin->GPC['subject'];
استبدله بـ
رمز PHP:
$newpost['title'] =BmTar(& $vbulletin->GPC['subject']);
احفظ الملف
اذا كنت مركب هاك الإهدائات فأفعل الاتي:
افتح ملف ehdaa.php
ابحث عن
رمز PHP:
################ SET PHP ENVIRONMENT ###################
اضف قبله
رمز PHP:
function BmTar($x)
{
$bandWords=strtolower($x) ;
if(!(eregi('****************************',$bandWor ds)
or eregi('*******',$bandWords)
or eregi('********************',$bandWords)
or eregi('******',$bandWords)
or eregi('******',$bandWords)
or eregi('************************',$bandWords)))
{
if( !(eregi('************************',$bandWords)
and eregi('******',$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']);
واحفظ الملف
انتهى شرح ترقيع ثغرة التحويل
خامساً: ترقيع ثغرة announcement.php وforumdisplay.php (الإعلانات)
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف announcement.php
وابحث عن
رمز PHP:
$postbit_obj =& $postbit_factory->fetch_postbit('announcement');
اضف اسفله
رمز PHP:
$changesomechars = array('\"','\'','|','(',')',':','&','$','<','>','"');
$newchars = array('"',''','l','(',')',':','&','$','<','>','"');
$post[title] = str_replace($changesomechars, $newchars,$post[title]);
$post[title] = strip_tags($post[title]);
احفظ الملف
افتح ملف forumdisplay.php
ابحث عن
رمز PHP:
fetch_muser****($announcement);
اضف اسفله
رمز PHP:
$changesomechars = array('\"','\'','|','(',')',':','&','$','<','>','"');
$newchars = array('"',''','l','(',')',':','&','$','<','>','"');
$announcement['title'] = str_replace($changesomechars, $newchars,$announcement['title']);
$announcement['title'] = strip_tags($announcement['title']);
واحفظ الملف
انتهى شرح ترقيع ثغرة announcement.php وforumdisplay.php (الإعلانات)
سادساً: ترقيع ثغرة sql
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف inlinemod.php
وابحث عن:
رمز PHP:
foreach ($postids AS $index => $postid)
{
if ($postids["$index"] != intval($postid))
{
unset($postids["$index"]);
}
}
استبدله بـ
رمز PHP:
foreach ($postids AS $index => $postid)
{
$postids["$index"]=(int)$postids["$index"];
}
في نفس الملف ابحث عن
رمز PHP:
foreach ($threadids AS $index => $threadid)
{
if ($threadids["$index"] != intval($threadid))
{
unset($threadids["$index"]);
}
}
استبدله بـ
رمز PHP:
foreach ($threadids AS $index => $threadid)
{
$threadids["$index"]=(int)$threadids["$index"];
}
واحفظ الملف
انتهى شرح ترقيع ثغرة sql
سابعاً: ترقيع ثغرة قالب الـ forumhome
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف newthread.php
وابحث عن
رمز PHP:
$newpost['title'] =& $vbulletin->GPC['subject'];
استبدله بـ
رمز PHP:
$newpost['title'] =htmlspecialchars_uni(& $vbulletin->GPC['subject']);
// $newpost['title'] =& $vbulletin->GPC['subject'];
واحفظ الملف
انتهى شرح ترقيع ثغرة forumhome
ثامناً: ترقيع ثغرة فلود التسجيل اكثر من 3000 اسم
اضغط على خيارات المنتدى واختار منها خيارات المنتدى
اختار إعدادات الصور ثم إضغط على تعديل الإعدادات
مكتبة معالجة الصورة: اختار الخيار GD
مكتبة التحقق من الصورة: اختار الخيار GD (خط بسيط) وإضغط حفظ
ثم اذهب الى خيارات المنتدى
واختار خيارات تسجيل الأعضاء
التحقق بالصور: اختار نعم
واضغط حفظ
انتهى شرح ترقيع ثغرة فلود التسجيل اكثر من 3000 اسم
انتهى شرح حماية المنتدى من الاختراق
ان شاء الله ينال اعجابكم
السلام عليكم ورحمة الله وبركاته
كثير من اصحاب المنتديات يعانون من مشاكل الاختراق
طرق الاختراق تكون من عدة اسباب
هي:
اختراق جهاز صاحب الموقع
الاختراق عن طريق الثغرات
قبل ان نبدأ الشرح احببت ان ابلغ عن نقطه وهي الموضوع سوف يتجدد كل (6) شهور إن وجدت ثغرات جديدة
نبدأ شرح كيفية حماية المنتدى من المتطفلين الهكر:
ملاحظة هامة: يجب اخذ نسخة احتيطاية قبل التعديل على اي ملف
اولا: وضع جدار ناري على اهم المجلدات
اذهب الى لوحة تحكم موقعك Cpanel عن طريق هذا الرابط
User ****: ادخل اسم المستخدم للوحة تحكم موقعك
Password: ادخل الرقم السري للوحة تحكم موقعك
ثم إضغط OK
اذهب الى Password Protect Directories
اذا على ايقونة ملف منتداك الرئيسي وغالبا مايكون vb
اضغط على اسم ملف ملف لوحة تحكم منتداك وغالبا مايكون admincp
ضع علامة صح في المربع
ثم إضغط save
ثم إضغط Go Back
User ****: ضع إسم المستخدم للجدار الناري
Password: ضع الرقم السري للجدار الناري
ثم إضغط على Add/modify authorized user
اذا ظهرت لك هذه الرسالة
User Modified
The user اسم مستخدم الجدار الناري now has the password الرقم السري للجدار الناري .
فأنت في السليم
الان اذهب الى لوحة تحكم منتداك لتتأكد من العملية
[اخي العزيز ،، يتوجب عليك اضافة رد لرؤية الرابط]
User ****: ضع اسم مستخدم الجدار الناري
Password: ضع الرقم السري للجدار الناري
ثم إضغط OK
نعمل مثل الخطوات على المجلدان (modcp - includes)
انتهى شرح الجدار الناري
ثانيا: تغيير إسم هذه المجلدات (admincp - modcp - install)
هذا الشرح سوف ينقسم الى قسمان
القسم الاول: تغيير اسماء المجلدان (admincp - modcp)
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وغير اسماء المجلدات (admincp - modcp) الى الاسم الذي تريده
ثم includes ثم اذهب الى ملف config.php
وابحث عن
رمز PHP:
$config['Misc']['admincpdir'] = 'admincp';
واستبدل admincp الى الاسم الذي استبدله بالسابق
وابحث عن
رمز PHP:
$config['Misc']['modcpdir'] = 'modcp';
واستبدل modcp الى الاسم الذي استبدلته بالسابق
واحفظ الملف
انتهى القسم الاول
القسم الثاني: تغيير اسم المجلد install
اذهب الى الـ FTP وغير اسم المجلد install الى اي اسم تريده
انتهى شرح تغيير اسماء المجلدات
ثالثاً: وضع الكلمات الممنوعة
اذهب الى خيارات المنتدى واختار منها خيارات المنتدى
اذهب الى خيارات الرقابة ثم إضغط على تعديل الإعدادات
تفعيل الرقابة: إختار نعم
الرمز لاستبدال الكلمات الممنوعة: ضع الرمز الذي تريد به استبدال الكلمات الممنوعة
الكلمات الممنوعة: ضع في هذا المربع الكلمات الموجودة في المرفقات
إزالة أحرف ASCII الفارغة: اتركه كما هو
ثم إضغط حفظ
ملاحظة: اذا كنت مركب هاك الإهدائات فيلزم وضع هذه الكلمات الممنوعة
انتهى شرح وضع الكلمات الممنوعة
رابعاً: ترقيع ثغرة التحويل
هام جداً: توجد كلمات ممنوعة فأستخدم الملف المرفق
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف newthread.php
وابحث عن
رمز PHP:
############### SET PHP ENVIRONMENT ###################
اضف قبله
رمز PHP:
function BmTar($x)
{
$bandWords=strtolower($x) ;
if(!(eregi('****************************',$bandWor ds)
or eregi('*******',$bandWords)
or eregi('********************',$bandWords)
or eregi('******',$bandWords)
or eregi('******',$bandWords)
or eregi('************************',$bandWords)))
{
if( !(eregi('************************',$bandWords)
and eregi('******',$bandWords)
and eregi('****************************************',$ bandWords)
and eregi('********',$bandWords))) ; else $x='';
} else $x='';
return $x;
}
في نفس الملف ابحث عن
رمز PHP:
$newpost['title'] =& $vbulletin->GPC['subject'];
استبدله بـ
رمز PHP:
$newpost['title'] =BmTar(& $vbulletin->GPC['subject']);
احفظ الملف
اذا كنت مركب هاك الإهدائات فأفعل الاتي:
افتح ملف ehdaa.php
ابحث عن
رمز PHP:
################ SET PHP ENVIRONMENT ###################
اضف قبله
رمز PHP:
function BmTar($x)
{
$bandWords=strtolower($x) ;
if(!(eregi('****************************',$bandWor ds)
or eregi('*******',$bandWords)
or eregi('********************',$bandWords)
or eregi('******',$bandWords)
or eregi('******',$bandWords)
or eregi('************************',$bandWords)))
{
if( !(eregi('************************',$bandWords)
and eregi('******',$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']);
واحفظ الملف
انتهى شرح ترقيع ثغرة التحويل
خامساً: ترقيع ثغرة announcement.php وforumdisplay.php (الإعلانات)
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف announcement.php
وابحث عن
رمز PHP:
$postbit_obj =& $postbit_factory->fetch_postbit('announcement');
اضف اسفله
رمز PHP:
$changesomechars = array('\"','\'','|','(',')',':','&','$','<','>','"');
$newchars = array('"',''','l','(',')',':','&','$','<','>','"');
$post[title] = str_replace($changesomechars, $newchars,$post[title]);
$post[title] = strip_tags($post[title]);
احفظ الملف
افتح ملف forumdisplay.php
ابحث عن
رمز PHP:
fetch_muser****($announcement);
اضف اسفله
رمز PHP:
$changesomechars = array('\"','\'','|','(',')',':','&','$','<','>','"');
$newchars = array('"',''','l','(',')',':','&','$','<','>','"');
$announcement['title'] = str_replace($changesomechars, $newchars,$announcement['title']);
$announcement['title'] = strip_tags($announcement['title']);
واحفظ الملف
انتهى شرح ترقيع ثغرة announcement.php وforumdisplay.php (الإعلانات)
سادساً: ترقيع ثغرة sql
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف inlinemod.php
وابحث عن:
رمز PHP:
foreach ($postids AS $index => $postid)
{
if ($postids["$index"] != intval($postid))
{
unset($postids["$index"]);
}
}
استبدله بـ
رمز PHP:
foreach ($postids AS $index => $postid)
{
$postids["$index"]=(int)$postids["$index"];
}
في نفس الملف ابحث عن
رمز PHP:
foreach ($threadids AS $index => $threadid)
{
if ($threadids["$index"] != intval($threadid))
{
unset($threadids["$index"]);
}
}
استبدله بـ
رمز PHP:
foreach ($threadids AS $index => $threadid)
{
$threadids["$index"]=(int)$threadids["$index"];
}
واحفظ الملف
انتهى شرح ترقيع ثغرة sql
سابعاً: ترقيع ثغرة قالب الـ forumhome
اذهب الى الـ FTP ومن ثم افتح ملف المنتدى الرئيسي وافتح ملف newthread.php
وابحث عن
رمز PHP:
$newpost['title'] =& $vbulletin->GPC['subject'];
استبدله بـ
رمز PHP:
$newpost['title'] =htmlspecialchars_uni(& $vbulletin->GPC['subject']);
// $newpost['title'] =& $vbulletin->GPC['subject'];
واحفظ الملف
انتهى شرح ترقيع ثغرة forumhome
ثامناً: ترقيع ثغرة فلود التسجيل اكثر من 3000 اسم
اضغط على خيارات المنتدى واختار منها خيارات المنتدى
اختار إعدادات الصور ثم إضغط على تعديل الإعدادات
مكتبة معالجة الصورة: اختار الخيار GD
مكتبة التحقق من الصورة: اختار الخيار GD (خط بسيط) وإضغط حفظ
ثم اذهب الى خيارات المنتدى
واختار خيارات تسجيل الأعضاء
التحقق بالصور: اختار نعم
واضغط حفظ
انتهى شرح ترقيع ثغرة فلود التسجيل اكثر من 3000 اسم
انتهى شرح حماية المنتدى من الاختراق
ان شاء الله ينال اعجابكم