دیتالایف انجین فارسی

افزایش چند برابری امنیت دیتالایف انجین

تاریخ انتشار: 6 اردیبهشت 1387
ارسال کننده: saron
سلام خدمت همه ی دوستان عزیز.
تو این مقاله می خوام تكنیك ها و هك هایی رو بگم كه با انجام اونا سیستم مدیریت محتوای دیتالایف انجین رو حسابی در مقابل هكرها و كدهای مخرب ایمن می كنید (البته نه ایمنی صد درصد) . من دو قطعه كد آماده كردم كه با افزودن اونا به سیستم دیتالایف انجین به شدت دست هكرها رو برای رخنه از طریق این آسیب پذیری ها به دیتالایف انجین می بنده .

كار شما اینه كه این دو قطعه كد رو بعد از خط <?PHP در فایل index.php یعنی اول صفحه بزارید:
//[1] Prevent any possible XSS attacks via $_GET.
foreach ($_GET as $check_url) {
    if ((eregi("<[^>]*script*\"?[^>]*>", $check_url)) || (eregi("<[^>]*object*\"?[^>]*>", $check_url)) ||         (eregi("<[^>]*iframe*\"?[^>]*>", $check_url)) || (eregi("<[^>]*applet*\"?[^>]*>", $check_url)) ||         (eregi("<[^>]*meta*\"?[^>]*>", $check_url)) || (eregi("<[^>]*style*\"?[^>]*>", $check_url)) ||         (eregi("<[^>]*form*\"?[^>]*>", $check_url)) || (eregi("\([^>]*\"?[^)]*\)", $check_url)) ||             (eregi("\"", $check_url))) {
die ("<br><br><CENTER><b><font color='#ff0000'>Dastresi Gheyre Mojaz Mibashad ... </font></b></CENTER>");
    }
}
unset($check_url);

// [2] Prevent any possible XSS attacks via QUERY_STRING.
$inArray = array("'", ";", ":", "/**/", "/UNION/", "/SELECT/", "AS ", "../", "..", "%", "*", "<", ">", "^", "$");    foreach($inArray as $res) {
                   if(stristr($_SERVER['QUERY_STRING'], $res)) {
die("<br><br><CENTER><b><font color='#ff0000'>Dastresi Gheyre Mojaz Mibashad ... </font></b></CENTER>");
        }
    }


بعد از این كار فایل index.php رو ذخیره كنید.
البته شما به جای كد زیر:

die("<br><br><CENTER><b><font color='#ff0000'>Dastresi Gheyre Mojaz Mibashad ... </font></b></CENTER>");

می تونین یه صفحه ی html ایجاد كنین و در صورت تشخیص حمله ، برای نمایش عدم دسترسی هكر یا كد مخرب رو به اون صفحه راهنمائی كنید . مثلاً این كد رو به كار ببرید :

header("location: error1.html");


كار این كدها اینه كه مقادیر و داده های غیر مجاز در url رو تشخیص میده و در صورت غیر مجاز بودن این مقادیر (مقادیر و كدهائی كه هكرها برای تزریق كد یا داده در سایت یا بانك اطلاعاتی از آنها استفاده میكنند) دسترسی به كل برنامه و سایت رو برای هكر غیر ممكن می كنه و به اون غیر مجاز بودن عملش رو گوش زد می كنه .
مثلاً همین چند روز پیش بود كه من بوسیله یه XSS تونستم كنترل مدیریت سایت دیتالایف انجین 6.7 رو در دست بگیرم (روی یه نسخه كه رو لوكال هاست نصب كردم ،‌ امتحان كردم) اما بعد از اسفاده از این كدها دیگه این كار برام مقدور نبود .
این رو هم گفته باشم كه اكثر CMS های معروف كدهای اینچنینی یا مشابهی برای پالایش URL دارن و این ضریب ایمنیشون رو خیلی خیلی بالا می بره .
موفق باشین .
    47 نفر (47 کاربر و 0 میهمان) از این مطلب تشکر کرده اند.
    تشکر
    عضو سایت
    06 اردیبهشت 1387 - 22:38
    لطفا طریقه های هک شدن رو بنویسید برای ما که مواظب باشیم
    من این ها را می دونم
    من چیزهایی رو می گم شما بگید حالا درصد هک شدن من چند درصد هست لطفا


    کار هایی که هکر انجام میده کارهایی که من باید انجام بدم
    با گرفتن فایل ویروسی و مشکوک - کلا از هیچ کسی هیچ فایلی نمی گیرم
    پسورد به هیچ کسی نمی دهم - به هیچکی نمی دم مگه کسی که واقعا قابل اعتماد باشه
    Fake Page - این که اصلا دیگه تابلو هست چند بار به من دادن ولی نرفتم !
    ایمیل دروغین از طرف مدیران که پسورد بدید - این که اصلا محال هست من بدم !


    دیگه چیزی به ذهنم نمی رسه
    لطفا موارد دیگه رو بگید تا ما هم بدونیم و هک نشویم هیچ موقع انشالله
    راستی چرا دیتا لایف مثل phpnuke از این نگهبان ها نداره ؟ و این که اون ها واقعا کار می کنه ؟
    nuke یک قسمت داره که اگر حمله ای بشه تعداد میزنه مثلا تعداد حملات به سایت : 12 مثلا
    موفق باشید
    مدیر بازنشسته
    07 اردیبهشت 1387 - 00:48
    این چیزائی كه شما گفتید ربطی به امنیت سایت نداره .
    هكرهای حرفه ای اصلاً به شما به عنوان مدیر سایت كار ندارن اونا با برنامه ی مدیریت محتوای شما كار دارن كه اگه ایمین نوشته نشه سایتتون رو هك میكنه حتی اگه 100 كاراكتر هم پسور سایتت باشه . این كدها اجازه ی XSS یا كراس سایت اسكریپتینگ و sql injection رو می گیره .
    آموزش اون چیزا رو شما برین تو سایتهای امنیتی یاد بگیرین .
    موفق باشین .
    عضو سایت
    07 اردیبهشت 1387 - 04:09
    سلام اقا راست میگه یه بخش درست کنید که مثل ( تعداد نظرات ) اما تعداد اتک ها و حمله ها ....

    و در ضمن محمد خان یکت شما اینو تایید میکنید ؟؟؟ این کد بالا رو میگم
    عضو سایت
    09 اردیبهشت 1387 - 18:55
    سارون جان سلام
    آقا سیستمی هست که اصلا هک نشه ؟
    چه پولی چه مجانی درضمن فارسی هم باشه !

    ممنون و موفق باشید
    مدیر بازنشسته
    09 اردیبهشت 1387 - 22:02
    sshr عزیز خیر .
    چون شعار هكرها و كركرها اینه كه می گن : هرچی اجرا بشه پس هك میشه !!!
    البته سیستمهای با امنیت فوق العاده بالا وجود داره اما كسی نمی تونه بگه كه 100 در صد هك نمی شن .
    عضو سایت
    09 اردیبهشت 1387 - 23:05
    سلام

    الان از نظر ما بهترین و امن ترین سیستم پولی و رایگان چیست ؟
    مدیر بازنشسته
    10 اردیبهشت 1387 - 11:42
    این بستگی به كاربرد شما داره كه سایتتون تو چه زمینه ای باشه و با چه برنامه ی تحت وبی نوشته شده باشه . این رو هم بگم كه امنیت یه مقوله ی نسبی است .
    سایتها ی زیادی هستن كه یه رتبه بندی بین سیستمهای مدیریت محتوا دارن و اونا رو كارشناسی و بعد به رای كاربران گذاشتن كه شما می تونین به اونجا مراجعه كنید و اطلاعات كاملی بدست بیارید . البته همین برنامه ی دیتا لایف امنیت نسبتاً خوبی داره اما كاربردهاش محدوده .

    شما می تونی دیه سر به این سایت بزنید : مدیریت محتواهای اپن سورس
    تواین صفحه هم رتبه بندی شون رو اعلام كرده : رتبه ی سیستمهای مدیریت محتوای اپن سورس

    اینجا هم رتبه بندی سیستمهای پولی و رایگان رو انجام داده : رتبه بندی سیستمهای پولی و رایگان
    عضو سایت
    10 اردیبهشت 1387 - 14:41
    ممنون
    عالی بود
    عضو سایت
    12 اردیبهشت 1387 - 14:36
    آقا این ترفند ایشون صد در صد کار می کنه
    امروز یکی میخواست از دوستان امنیت سایت رو چک کنه بعد یک باگ رو زد دید این پیغامه اومد که ایشون گفته بودن
    بعد به من داد من واقعا دمش گرم از ته دلم به ایشون گفتم

    دمت گرم سااااااااااارون جووووون
    مدیر بازنشسته
    12 اردیبهشت 1387 - 21:38
    sshr,
    خواهش می كنم عزیز .
    عضو سایت
    14 اردیبهشت 1387 - 18:16
    مرسی
    عضو سایت
    28 اردیبهشت 1387 - 02:26
    با سلام میشه كمی بیشتر در مورد index.php توضیح بدید چون من برای بار اول كه مدیریتمو باز كردم زده بود برای امنیت بیشتر این فایل رو از هاست پاك كنم و من اینكار رو كردم ، با توضیحی كه شما دادید و چیزی كه من گفتم دقیق چه كاری باید بكنم

    --------------------
    مدیر بازنشسته
    28 اردیبهشت 1387 - 19:20
    دوست عزیز اون فایلی رو كه گفته پاك كنین فایل install.php هستش نه فایل index.php . شما اگه index.php رو پاك كنین كه سایتتون بالا نمی یاد ؟؟ wink
    عضو سایت
    30 خرداد 1387 - 18:12
    سلام
    امیدوارم خوب باشید
    میخوام بدونم این دستورها در سیستم دیتالایف انجین ورژن هفت اعمال شده یا نه.
    چون برای من ورژن 7 نصب شده و اگر نیازه خودم این تغییرات رو انجام بدم. اگر ممکنه زودتر جواب بدید ممنونم
    مدیر بازنشسته
    30 خرداد 1387 - 19:45
    این كدها برای تمام ورژن های دیتا لایف به كار می ره و مستقل از نسخه ی دیتالایف انجینه .
    در ضمن می تونید همین كدها رو برای امنیت بیشتر در بالای فابل admin.php نیز كپی كنید . feel
    عضو سایت
    01 تیر 1387 - 03:26
    saron,

    سلام
    پس من باید دست به کار بشم و خودم کدهار و وارد کنم. درسته؟؟؟؟

    اگر امکان داره یه روشی یا کدی معرفی کنید که بتونیم با کمکش تست کنیم که ایا درست کار میکنه یا نه؟؟؟
    به صورت در بسته که اموزش هک هم نباشه!!!!!!!!!!!
    ممنونم
    عضو سایت
    13 تیر 1387 - 00:01
    کسی جواب نداد؟؟؟
    چطوری بفهمیم کار میکنه و درسته؟
    ممنون

    سلام
    من این کارو انجام دادم ولی با مشکل عجیبی مواجه شدم
    وقتی لاگین میزنم بالای صفحه این خطا رو نشون میده البته سایت لود میشه.

    Warning: Cannot modify header information - headers already sent by (output started at /home/glife/public_html/index.php:1) in /home/glife/public_html/engine/modules/f
    unctions.php on line 1264 Warning: Cannot modify header information - headers already sent by (output started at /home/glife/public_html/index.php:1) in /home/glife/public_html/engine/modules/f
    unctions.php on line 1264 Warning: Cannot modify header information - headers already sent by (output started at /home/glife/public_html/index.php:1) in /home/glife/public_html/engine/modules/f
    unctions.php on line 1264 

    وقتی هم که مدیریت سایت رو میزنم اصلا چیزی لود نمیشه و این خطا رو نشون میده.

    Warning: Cannot modify header information - headers already sent by (output started at /home/glife/public_html/admin.php:1) in /home/glife/public_html/engine/inc/funct
    ions.inc.php on line 987 Warning: Cannot modify header information - headers already sent by (output started at /home/glife/public_html/admin.php:1) in /home/glife/public_html/engine/inc/funct
    ions.inc.php on line 988
    Access Denied

    نمیتونم وارد قسمت مدیریت بشم چیکار کنم.

    رفتم فایل ایندکس رو به حالت اول برگردوندم فایل ادماین رو هم همین طور اما فایده نداشت.
    لطفا کمک کنید.
    ممنونم
    مدیر بازنشسته
    13 تیر 1387 - 03:13
    ali_united,
    دوست عزیز اگر مشكلی دارید در انجمن مطرح كنید
    با تشكر

    ali_united,
    نه دوست عزیز . از انجام این كار معذورم .
    عضو سایت
    18 شهریور 1387 - 17:25
    smile
    عضو سایت
    28 شهریور 1387 - 05:55
    سلام.
    من بعد این اینکه این کد را در بالای admin.php کپی می کنم ؛ در هنگام آپلود تصاویر با پیغامی که در کد هست روبرو میشوم.
    می خواستم بدانم این می تواند یک باگ برای امنیت دیتالایف انجین باشد؟
    عضو سایت
    07 آبان 1388 - 22:53
    ایا نسخه 8.2 دیتالایف انجین هم نیاز به این کد داره ؟
    عضو سایت
    14 آبان 1388 - 06:11
    واقعا خسته نباشید . این آموزش واقعا نیاز بود loveu
    عضو سایت
    25 آذر 1390 - 20:48
    نمی دونم شاید خوب باشه گفتم بنویسم کسی نگه این پست فراموش شده dance
    عضو سایت
    11 اردیبهشت 1391 - 00:36
    برای نسخه 9.5 هم نیازه یا نه
    جهت ارسال نظر، فرم زیر را تکمیل نمائید:
    نام:*
    ایمیل:*
    متن نظر:

     
    پررنگکج خط دارخط دار در وسط|سمت چپوسط سمت راست|قرار دادن شکلکانتخاب رنگ|پنهان کردن متنقراردادن نقل قولتبدیل نوشته ها به زبان روسیقراردادن Spoiler
    کد امنیتی: *