الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية حماية ملف الكونفيج من برامج الهاكر

بدأه arabiahost في 8 سبتمبر 2010 · 10 رد · 2,276 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوتي الاعزاء اصابني بموقع عميل لي اختراق مرير لمدة ثلاث ايام واكثر من 6 محاولات اختراق ناجحه

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

واكتشفت الاتي

1- تم الاختراق من اللوحة الخاصه بالتحكم

2- الدخول بكلمة السر صحيحه هي واسم المستخدم

3- تم الاختراق حقن قاعدة البيانات لاستخراج كلمة المرور

4- الدخول الي المحرر داخل لوحة التحكم ورفع كود خاص بصفحة رفع ملفات للسيرفر مبرمجه بالبي اتش بي

5- من خلال الصفحه السابقه قام برفع اندكس اخر للموقع وقام ببدأ نسخ السكربت كامل

6- قمت بالتحقق علي الانترنت ووجدت برنامج يقوم بعمل البحث داخل قاعدة البيانات واستخراج الجداول والحقول

7- واستخراج كلمة المرور وفك تشفيرها ايضا مع اسم المستخدم

هنا عرفت المخترق وادواته اما عن الردع قمت فقط بحذف مجلد لوحة التحكم مما اوقف الاضافه بالموقع

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

اي ان المشكله متمثله في ملف الكونفيج الخاص بالسكربت خاصتي

الان اسقط في يدي ماذا افعل

اخوكم مبرمج موروط مع عميل وتم التعدي عليه من مخترقين غير متحملين لاي مسئوليه مما ادي الي خصم مبلغ مالي كبير من جهة العميل

#2

أخي قم بعمل التالي

أولا مجلد لوحة التحكم : وضع رقم سري عليه من خلال السي بانيل

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

$VAR_IN=array("VAR_IN","ADMIN","username");
foreach($_GET as $KEy => $VAl) { if(!in_array($KEy,$VAR_IN)) $$KEy=mysql_real_escape_string(htmlspecialchars(addslashes($VAl))); }
foreach($_POST as $KEy => $VAl) { if(!in_array($KEy,$VAR_IN)) $$KEy=mysql_real_escape_string(htmlspecialchars(addslashes($VAl))); }

في المصفوفه في أول سطر تضع جميع المتغيرات المهمه لكي لا يتم التلاعب بها

طبعا هذه الأسطر في ملف الكونف تكون

بالتوفيق

1

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#3

اخي bastr3

للاسف اعتقد ان هناك مشكله في اضافة الكود الذي ارفقته الينا بردك اعزك الله

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

ايضا عن الاضافه يستطيع برنامج الهاكر ان يقوم بالاختراق لقاعدة البيانات

//Connect To Database
$config["hostname"]='localhost';
$config["username"]='username';
$config["password"]='password';
$config["dbname"]='dbname';
$config["closesite"]="yes";
$config["closetitle"]="عذرا لايقاف الموقع";
$sitedescription='موقع جريدة   المصرية ';
$config["closesiteresone"]="نطوير الموقع او بدأ تحميله";
$sitelogo="logo.png";
$footersign ="جميع الحقوق محفوظه لموقع جريدة   المصريه";
$sitenamecontrol='جريدة  | المصرية';
$sitename ="جريدة  | المصرية";
$sitename1 ="محمد";
$sitename2 ="رئيس مجلس الادارة";
$sitename3 ="محمد";
$sitename4 ="رئيس التحرير";
$sitename5 ="NEWSPAPER";

$tbl_name1="guestbook";
$db_info["dbHost"] =$config["hostname"]; // DBHost address
$db_info["dbName"] =$config["dbname"]; // Database Name
$db_info["dbUser"] =$config["username"]; // username to access the database
$db_info["dbPass"] =$config["password"]; // password to access the database
$tablename["counter"] = "vietcounter";
$tablename["browser"] = "vietcounter_browser";
$tablename["hostname"] = "vietcounter_hostname";
$tablename["record"] = "vietcounter_record";
$tablename["referer"] = "vietcounter_referer";
$tablename["online"] = "vietcounter_usersonline";
$sitepath = "http://alalmeh.com"; // Your Site URL
$admininfo['email'] = "info@arabiasystem.net"; // Admin email to use for VCounter
$newdayalert = 0; 
$language = "lang/english.php"; // path to your language file
$templatefolder = "templates"; // path to Templates Folder
$imagesdir = "images"; // path to Images Folder
$counterstartnum = 0; // The number that Counter will start counting from
$reloadtime = 30; // time to reload the "Who's Online" window in second
$timexpired = 300; // time expired for a session of user in second
$timezone = 7; // Your Local TimeZone
$timeoffset = -8; // Your Host Timezone
$entriesppage = 500; // Number of entries to show in Control Panel (for Browser, Hostname & Referer Stat)
$todaybg = "#eeeeee"; // Current Background Color
$normaldaybg = "#ffffff"; // Other days background Color
$currentmonthbg = "#eeeeee"; // Current Month Background Color
$normalmonthbg = "#ffffff"; // Other Months Background Color
$tablebordercolor = "#cccccc"; // Table Border Color
mysql_connect( $config["hostname"], $config["username"], $config["password"]) OR DIE ('لا يمكن تحديد قاعدة البيانات  الخاصه بالموقع   ربما تم كتابتها بشكل خاطيء او تم حذف اسم المستخدم من المستخدمين علي قاعدة البيانات   يجب تغيير البيانات من ملف الاعدادات الخاص بالموقع اولا لتظهر الصفحات');
mysql_select_db($config["dbname"])
	or 
	die("لا يمكن تحديد قاعدة البيانات  الخاصه بالموقع   ربما تم كتابتها بشكل خاطيء او تم حذف اسم المستخدم من المستخدمين علي قاعدة البيانات   يجب تغيير البيانات من ملف الاعدادات الخاص بالموقع اولا لتظهر الصفحات");

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

تم تعديل هذه المشاركة بواسطة arabiahost في 8 سبتمبر 2010 في 20:21

#4

أولا أخي الكود الذي أعطاك اياع الاخ

ضعه في جميع الصفحات

فهو يقوم بتأمين المدخلات

ثانيا عليك أن تقوم باستخدام تشفير مناسب لكلمات السر في قاعدة البيانات

هذا و الله أعلى و أعلم

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

#5

اخي قيم بعمل فحص داخل ملف الكونفج عن الملف الذي يقوم باستدعاءه وتأكده انه من ملفات الاسكربت وذلك من خلال وضع ملفات الاسكربت في Array داخل الملف وعمل الفحص من خلال in_array وإذا لم ليكن تحدث امر die وبذلك تكون قد اوقفت عمل الملف الاخر وتقوم بتشفير ملف الكونفج

وبذلك حتي لو قام برفع اي ملف وقام باستخدام الكونفج بامر include سيقوم الفحص بايقاف العمل

#6

وأنا اعتقد بالاضافة الى حماية ملف الكونفق برمجة الموقع

حيث انه في اخفاء مثل هذه العميلة له دور كبير index.php?idd=rrr

ودي اتعلم هذه الطريقة في عملية الاخفاء

غير عملية الpost

وهذا والله اعلم

تحياتي

تم تعديل هذه المشاركة بواسطة EMNALI في 9 سبتمبر 2010 في 16:28

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#7

اقرأ هذا الموضوع الخاص بحقن SQL

http://www.arabteam2...05&fromsearch=1

أما بالنسبه للملفات فيفضل أن تفصل الملفات الرئيسية عن الأكواد التى يتم تكرارها و ذلك بوضعها فى ملفات و ضمها إلى الملفات الرئيسية و وضعها فى مجلد يتم تسميته بمسمى غير منتشر فلا تسميه مثلاً include و ضع فيه ملف htaccess يمنع الدخول إليه أو إرسال GET أو POST لأى ملف فيه و امنع عمل Include لأى ملف فيهم إلا للمسموح لهم فقط بواسطه الأتى:

فى الملفات الرئيسية اكتب فى بدايتها الأتى

define('Var', false);

ثم فى الملفات التى يتم ضمها أكتب فى بدايتها الاتى

if ( !defined('Var') )
	die('Access denied');

مع تغيير كلمه Var إلى الذى تريده و بهذا تمنع ضمها إلا لو تم معرفه إسم المخزن الثابت هذا و هذا متوفر إلا فى الملفات الرئيسيه الخاصه بك.

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

لا تنسى إغلاق register_globals smile.gif

تم تعديل هذه المشاركة بواسطة asm-soft في 9 سبتمبر 2010 في 18:02

1
forum-signature-01.gif
#8

السلام عليكم

اخي العزيز اذا كنت تعتقد ان سبب الإختراق هو حقن فعليك اولا سد هذه الثغرة و الكود الذي ارفقه الأخ bastr3 كفيل بهذا

عليك تغيير كلمة السر و أسم المستخدم لقاعدة البيانات و هذا هام جداً خاصة اذا كان الموقع على استضافة مشتركة ( ليست على سيرفير مخصص )

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

اما بالنسبة لملف الكونفيج لا اعتقد انه يوجد داعي لحمايته فلن يتمكن أي شخص من مشاهدة محتوياته او تغيرها ان كان لا يملك صلاحيات لذلك. مثل FTP Access . لكن لا بأس من تغيير اسمه و مكانه.

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

أحيان كثيرة لا يكون سبب الإختراق هو ثغرة في برنامج الموقع خاصة في مثل هذه الحالة التي يدخل بها المخترق بكلمة مرور و اسم مستخدم صحيحتين احيانا يكون جهاز العميل مصاب بفايروس keylogger أو انه يستخدم شبكة غير آمنة يقوم أشخاص بالتنصت فيها و صيد المعلومات المهمة و في هذه الحالة استخدام اتصال SSL "HTTPS" يقلص من خطر التنصت.

تم تعديل هذه المشاركة بواسطة salama77 في 11 سبتمبر 2010 في 00:28

#9

تاكد من ان allow_url_fopen و allow_url_include

غير مفعلة اي off

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

In bad state

#10

اعطيك احسن حل لملف الكونفيج وبعدها روح إرتاح مراح يقدرون يخترقون ال Config يعني إستدعاء الملف من برنامج آخر من خارج الموقع ولكن على نفس السيرفر

أعطيه تصريح 400

وبعدها خلاص مافيه شخص من موقع آخر على نفس السيرفر يقدر يوصل لملف ال config الخاص بك

طبعا ياعزيزي فيه شيئ ثاني ممكن تغير إسمه ماهو شرط تسميه config شوفله اي إسم آخر

اما لحمالية الصفحات فإستقدم احد الطرق إلي قالك عليها الشباب

تحياتي

#11

اخواني الاعزاء شكرا لكل من حاول مساعدتي بالفعل شاكر جدا لاهتمامكم

تم اختراق موقع اخر من تصميمي وبرمجتي وبنفس الطريقه

ولم اتمكن سوي من حجب مجلد الادمن الخاص بالموقع حتي بعد ان قمت باضافة بعض الاكواد ذكرها لي صديق مبرمج ايضا وايضا حتي بعد ان قمت بتغيير تصريح ملف الكونفيج الي 400

كام قال احد الاخوه بالرد علي استغاثتي حتي انني قد قمت بتغيير ملف الكونفج الي هذا الاسم ))(( وبدون لاحقه للملف ايضا ..... ولكن ضرب البرنامج الشرس الذي تاكدت ان المخترقين استغلوه في فتح مجدل الادمن

كل ما فعلته عرض الحائط وكأن كل ما قلتوه لي وما حاولت فعله هو هباءا منثورا ؟؟؟!!!!!

فهل لي ان ادعو الله فقط ان يجعل هؤلاء المخترقون

الذين بدأ بتدمير عملي حقيقة

وخسرت في الشهرين الحاليين ما يعادل العشرة الالاف جنيها مصريا

وصرت لا املك قوت يومي بسببهم

ان يغفلوا عن مواقع عملائي حيث انني اقوم ببرمجة المواقع وتطويرها منذ سنوات قليله فقط

ولم افكر يوما في التامين لضعف شهره مواقع عملائي

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

شكرا لكم حاولتم وحاولت معكم ولكن البرنامج بالفعل شرس حتي انني اخاف من ذكر اسمه لكم كي لا يتم استخدمه من قبل غيري فيضرني انا او غيري

لاي افكار ربما تنقذ ماء وجهي arabiasystem@gmail.com شكرا لكم

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…