ملتقى قبيلة حرب الرسمي

ملتقى قبيلة حرب الرسمي (http://www.m-harb.net/vb/index.php)
-   ملتقى برامج الكمبيوتر (http://www.m-harb.net/vb/forumdisplay.php?f=5)
-   -   رس لحماية المنتدى من الأختراق وترقيع كافة ثغراته (http://www.m-harb.net/vb/showthread.php?t=55531)

ابوفواز النويمي 27-11-09 10:23 AM

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

:: اجزاء الشرح ::
  • حماية المجلدات المهمه بجداران نارية
  • تغير اسماء المجلدات المهمه في المنتدى
  • تغير مسمى ومسار ملف الـconfig + تشفيره
  • ترقيع كافة الثغرات
بسم الله الرحمن الرحيم

طبعاً اول شي سنتطرق لجدران الحماية على الملفات المهمه في المنتدى وهذا شي اساسي واظنكم عارفينه.
ولكني سأشرحها لكم بالتفصيل عشان مايكون فيه مجال للأستفسارات من المبتدئين.admincp لوحة تحكم الأدارة
modcp لوحة تحكم المراقبين
includes مجلد مهم يحمل ملفات مهمه + ملف config.php بداخله بيانات القاعدة
اتجهه إلى لوحة تحكم الموقع ولتكن الـcpanel
www.xxxx.com/cpanel
توجه إلى

Password Protect Directories

http://upload.traidnt.net/upfiles/WFq54327.gif

طبعاً دائماُ اذا تريد تفتح مجلد معين في الـcpanel تضغط على الاييقونه وليس اسم المجلد

http://upload.traidnt.net/upfiles/K9o54896.gif

ادخل إلى الـpublic_html


http://upload.traidnt.net/upfiles/bCK54953.gif

ثم توجه إلى الـvb


http://upload.traidnt.net/upfiles/NQo55024.jpg

الآن نريد وضع [ جدار الحماية ] على المجلدات اللي ذكرناه وبنطبق على الـadmincp
:: هنا فقط ركز لوضع الجدار لا لدخول المجلد تظغظ بالماوس على اسم المجلد وليس الايقونة.

http://upload.traidnt.net/upfiles/JVL55065.jpg

http://upload.traidnt.net/upfiles/3Bs55268.jpg

1- تضغط زر الماوس على علامـة الصح بجانب الـ http://upload.traidnt.net/upfiles/r3755372.gif
2- اضغط على save لحفظ الجدار
3- ضع اسم المستخدم
4- ضع باسورد المستخدم
واضغط على العلامة بجانبه
وطبق هذا الشرح مع المجلدات اللي ذكرناها .. فوق كاملة ..

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

الآن تغير اسماء المجلدات المهمه في المنتدى
admincp
modcp
الـincludes سأذكر لكم الطريقة فيما بعد لانها صعبه شوي على المبتدئين وبها مشاكل عند الترقية فمن يريد تطبيقها يطبق ومن لا يريد يكفي له تغير مسار ملف الـconfig لأنه أهم مافي المجلد.

اذهب إلى File Manager
او مدير الملفات

http://upload.traidnt.net/upfiles/onI55626.jpg

وايضاً كما تعودنا تضغط على الايقونه http://upload.traidnt.net/upfiles/6fN55677.gif لدخول المجلد

http://upload.traidnt.net/upfiles/dCV55751.jpg

ثم اضغط على مجلد الـvb لدخوله


http://upload.traidnt.net/upfiles/wiC55798.jpg

ثم اضغط على اسم المجلد وليست الايقونه admincp


http://upload.traidnt.net/upfiles/uBA55853.jpg

سيظهرلك بالجانب الاعلى من اليمين Rename this folder
غير الإسم إلى ما تريده

http://upload.traidnt.net/upfiles/2sG56080.jpg

الآن لوحة تحكم الأدارة تغيرت إلى D7ME_TRaidnt

وهكذا مع الـmodcp ايضاً


بعدها اذهب إلى ملف الـconfig وأبحث عن

كود PHP:

$config['Misc']['admincpdir'] = 'admincp'



admincp استبدله مع اسم المجلد اللي غيرته

كود PHP:

$config['Misc']['modcpdir'] = 'modcp'



modcp استبدله ايضاً مع اسم المجلد الجديد

ابوفواز النويمي 27-11-09 10:25 AM

الآن تغير مسمى ومسار ملف الـconfig + تشفيره

اخوتي الآن معنى برنامج التشفير الشهير Zend لا أخفي عليكم انه من السهل كسر حمايته وفك الكود البرمجي فيه

ولكن !
الآن نحن نطبق فقط كمثال توجد برامج كثيرة جداً للتشفير + كتب تعليم التشفير وطرق كلاسيكية في التشفير

وهذا درس مخصص لها:

نزل الملف من مجلد المنتدى vb

على هذا المسار تجده

كود:

vb/includes/config.php


حمله على جهازك اذا كنت بالـftp أو على السيرفر الشخصي ستجده

C:\AppServ\www\vb\includes

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

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

الآن لو أردنا تشفير الملف

افتح برنامج Zend اللي حملناه ببداية الدورة

:: واجهة البرنامج ::

http://upload.traidnt.net/upfiles/or091002.jpg

http://upload.traidnt.net/upfiles/4WW72275.jpg

http://upload.traidnt.net/upfiles/HJ472320.jpg

اضغط على add files

http://upload.traidnt.net/upfiles/6Pu72391.jpg

اختر ملف الـconfig.php وأتبع الصور

http://upload.traidnt.net/upfiles/e1z72446.jpg

ثم اضغط على
Encode!

http://upload.traidnt.net/upfiles/hPn72586.jpg

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

ممتاز الآن شفرنا ملف الكونفيغ وحفظناه على جهازنا

ملاحظة مهمة عند رفع الملف المشفر للسيرفر يجب أن يكون بصيغة Binary

من الـftp عند الرفع تحدد عليها

http://upload.traidnt.net/upfiles/x5T73035.jpg


لتحميل برنامج LeapFTP لرفع الملفات على الموقع اضغط هنا

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

الآن نريد تغيير اسم الـconfig ونغير مساره ننقله من مجلد الـinclodes برأسة ..
اتبع الطريقة معي بتركيز .

أفتحلك مجلد جديد على الـvb

سمية ما شئت والنفرض

D7ME

روح للكونفيغ غير اسمه مثل ما ذكرنا فوق طريقة تغير الأسم من الـcpanel
أو الـftp

http://upload.traidnt.net/upfiles/pxi79472.jpg


وانا بغير اسمه إلى traidnt.php وبنقله إلى مجلد D7ME

http://upload.traidnt.net/upfiles/Pq879517.jpg


الآن على مهلك معي تابع الملفات اللي بداخلها يجب ان نغير اسم الـconfig لتمشي الطريقة معنا بشكل سليم

اولاً
المجلدات اللي فيها الملفات والتي يجب تعديلها هي

admincp
includes
install


install انا أفضل حذفه او تغير اسمـه إلى رموز وحروف .. لكننا سنحتاج التغير على الملفات التي بداخله اذا اردنا الترقيه او التنصيب, في حال ملف الـconfig متغير مسارة او اسمه.

admincp

اذهب إلى ملف diagnostic.php بداخله

افتح الملف بأي محرر نصوص لديك ولنقل النوت باد "المفكرة"

واضغط من الكيبورد على Ctrl+f للبحث في الملف عن

includes/config.php

http://upload.traidnt.net/upfiles/jgM79602.jpg


واستبدلها بمسار الملف مكان ماهو موجود

انا ملفي موجود بداخل مجلد D7ME اللذي انشأته

اذاً انظروا كيف وضعته

http://upload.traidnt.net/upfiles/0wc79683.jpg

تضع مسارة بين علامتين التنصيص ( ' )

اذاً ممتاز الآن عرفنا كيف نطبق وبالصورة

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

الآن اذهب إلى includes

وفي هذا المجلد سنعدل على 4 ملفات بداخله

اولهم adminfunctions

ركزو أحبتي بعض الملفات لا يعطيك المسار كامل بل تجد فيه اسم الملف فقط لا تبحث عن

كود:

includes/config.php


بل

فقط config.php لأنك ستجد البعض بالإسم فقط والبعض الآخر ستجده بالمسار تحديداً كلاهم تغيره بالمسار لملفك

http://upload.traidnt.net/upfiles/5xW79805.jpg

بـمسار الملف تطبيقي هو:

كود PHP:

D7ME/traidnt.php 



هكذا:

http://upload.traidnt.net/upfiles/L0377298.jpg

ممتاز الآن أغلق الملف واحفظه

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

اتجه إلى ملف class_core

ستجد اسم ملف الكونفيق في هذا الملف تقريباً 9 مرات

كل ماتجد الإسم استبدله بمسار الملف الجديد كما تعلمنا وهكذا إلى ان يتم كل شي احفظ واغلقه.

الآن حدث صفحة المنتدى ! تجده عال العال بإذن الله اشتغل واتصل الملف بالقاعدة.

-------
والآن اذهب ايضاً إلى ملف functions

وابحث عن config.php
ستجده بهذا الملف مرتين قم بتغير اسمهم لمسار ملفك الجديد

------

ايضاً ملف init
ستجده ايضاً مرتين استبدلهما بمسار الملف الجديد

================

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

=================


الآن لو لديك تنصيب او ترقية لمنتدى مغير مساره اذهب إلى مجلد install

وغير مسارات الكونفق فيه إلى المسار الجديد ليتم الاتصال بالقاعدة والترقية أو التنصيب بشكل صحيح

ستجدها في ست ملفات وهي:
  1. init.php
  2. install.php
  3. installcore.php
  4. install_language_en.php
  5. upgrade_language_en.php
  6. upgradecore.php
=================

ملاحظة:
لمن أراد وضع الـconfig خارج الـpublic_html

تغيير المسار يكون بإستخدام ../ للرجوع بالمجلد إلى الخلف
مثلاً إذا كنت تريد الكونفيغ داخل مجلد traidnt خلف public_html يكون المسار هكذا:

كود PHP:

(CWD './../../traidnt/config.php'); 



وإذا كنت تريد الملف خلف public_html مباشرة دون مجلد يكون هكذا:

كود PHP:

(CWD './../../config.php'); 



اذا أردتم تطبيقها أنصحكم بتغيير اسم الملف
وايضاً تضعه داخل مجلد أفضل من أن تتركه خلف الـ public_html مباشرة

نقاط مهمة
  • طبق الدرس بتركيز وبدون استعجال + اقرأ الدرس مرة مرتين ان لم تفهم بعضه
  • ملف الـconfig يمكنك نقله إلى إي مكان تريد وانت وذكائك انا تركتلك مثال للتطبيق
  • التشفير بالزند انكسرت حمايته ولكن كما قلت لكم توجد العديد من الطرق والبرامج للتشفير
  • ضع ملف config وهمي جديد مشفر داخل مجلد الـincludes.
عموماً لو غيرت المسار ايضاً من الصعب جداً ان يظهره او يعرف مساره

اما عن من يتسائل عن معرفة المسار من خلال قراءة الملفات التي غيرنا عليها مسار الكونفيغ فالأفضل تشفيرها ايضاً والملفات غير قابلة للقراءة

وللضمان إن أردت يمكنك تشفيرها ايضاً بما أنك عرفت طريقة التشفير شفر الملفين أيضاً
class_core.php
global.php

ابوفواز النويمي 27-11-09 10:26 AM

الآن ترقيع ثغرات سكربت الـvBulletin

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

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

ثغره التحويل:
أفتح ملف newthread.php بمحرر نصوص كما تعودنا
وابحث عن:

كود PHP:

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



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

كود PHP:

//#--------------------------------------
        
$bandWordsR=strtolower(& $vbulletin->GPC['subject']);
        if(!(
eregi('content',$bandWordsR)
        or  
eregi('refresh',$bandWordsR)
        or 
eregi('equiv',$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'] ='';
 
 
//#-------------------------------------- 



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



فنحن نتكلم لزيادة الأمان .
الآن نرقع ثغره [spacer_close] و [spacer_open]
اذهب إلى ملف global.php
http://upload.traidnt.net/upfiles/12134185.jpg
ابحث عن:

كود 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

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



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

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

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

كود PHP:

<!-- 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> 


احفظ

-----------

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

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


وضع فيه الآتي:

كود PHP:

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


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

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


حل ثغره الفلود بتسجيل الاسماء والتي تجعل تسجيل ما يقارب 2000 عضو في دقائق
وايضاً الفلود بإرسال رسائل للمشرف العام عن طريق خاصية الاتصال بنا .
ثغره فلود التسجيل:

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

ثم

http://upload.traidnt.net/upfiles/mvf38265.gif


ثم


http://upload.traidnt.net/upfiles/DkP38113.gif


:: الارسال ::

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


http://upload.traidnt.net/upfiles/Yt838563.gif

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

ايضاً نقطة مهمة وهي تلغيم الستايل لرفع شيل بوساطه المتصفح
كل الشكر لأخواني رياح الحبـ , حازم علي , dr.php
:: تحميل البرودكت ::

تعطيل إستغلال تلغيم الستايل.zip

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

الآن لازم نرقع ثغرة الهاكات الي نضيفها في حال وجود ثغرات ومنها هاك الاهداءات
نحمل ملف الاهداء الي بالسي بانل داخل مجلد الفي بي ويكون اسم الملف ehdaa.php نفتح الملف ونبحث عن:

كود:

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


أضف فوقه مباشرة

كود PHP:

function BmTar($x
{
            
$bandWords=strtolower($x) ;
            if(!(
eregi('content',$bandWords)
            or 
eregi('refresh',$bandWords)
            or 
eregi('equiv',$bandWords)
            or 
eregi('****ie',$bandWords)
            or 
eregi('iframe',$bandWords)
            or 
eregi('<meta',$bandWords)))
            {
            if( !(
eregi('script',$bandWords)
            and 
eregi('window',$bandWords)
            and 
eregi('javascript',$bandWords)
            and 
eregi('location',$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://upload.traidnt.net/upfiles/HkB21067.gif


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


http://upload.traidnt.net/upfiles/xCT21805.gif


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

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

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

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

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


وفقنا الله وإياكم

منقول بتصرف



الساعة الآن 09:52 AM

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Designed & TranZ By Almuhajir

Ads Management Version 3.0.1 by Saeed Al-Atwi