دیروز تو توئیتر یه نفر یه لینکی گذاشته بود از سایت روزنامه کیهان با عنوان: سرنوشت حجاریان در انتظار خاتمی (و یا همچین چیزی) منم کنجکاو شدم روی لینک کلیک کردم و به پیغام خطای زیر رسیدم، البته من اطلاعات حساس روی خطا (نقاط سفید) رو حذف کردم که مشکلی پیش نیاد:
البته این پیغام فقط به مدت چند دقیقه نشون داده شد. حالا اطلاعات حساسی که تو این پیغام بود عبارت بودن از اسم دیتابیس و کاربری که باهاش به پایگاه داده وصل میشن. حتما میدونین که دیتابیس به عبارتی درونی ترین لایه یک وب سایت هست. چرا این پیغام مهمه؟ چون داده های خطرناکی رو داره نشون میده. خطرناک از نظر استفاده هکرها.
یکی از توصیه های مهم در ایمن سازی یه وبسایت اینه که تا جایی که ممکنه اطلاعات کمتری به هکرها بدین. مثلا در مورد همین سایت، تصور کنین که اگه یه هکر میخواست در حالت عادی وقت بذاره که این اطلاعات رو بدست بیاره، چقدر باید زمان صرف میکرد و از چه راههایی باید وارد میشد!
تکنیک تزریق خطا:
حالا مورد کیهان یک خطای عادی و اجتناب ناپذیره که البته کنترل نشده ولی در حالت کلی یکی از روشهایی که هکرها استفاده می کنن تا اطلاعات سیستمی یه وب سایت رو بدست بیارن روش تزریق خطا هست. تزریق خطا یعنی اینکه به عمد اطلاعاتی وارد سیستم کنی تا سیستم با خطا مواجهه بشه و بعد از اون رفتار سیستم رو زیر نظر بگیری تا اطلاعاتی رو که افشای اونها کنترل نشدن رو بدست بیاری.
چرا میگیم اطلاعات حساس؟
خوب چون مهم هستن. نام پایگاه داده به شما تو ترزیق دستورات SQL ای کمک میکنه. از اون مهمتر نام کاربری هست. با داشتن یک نام کاربری کافیه که حمله brute force رو بر علیه سیستم اجرا کنی. تو این حمله اگه یکی از متغیرها رو داشته باشی مثلا نام کاربری، کلی تو زمان صرفه جویی میشه و سریعتر ممکنه به پسوورد هدف برسی.
راه حل چیه؟
توجه کنین که کنترل نکردن خطا یک حمله نیست ولی به هکر تو جمع آوری اطلاعات کمک میکنه. راه حلش ولی ساده است، کافیه همه پیغام های خطای تو سیستم (به خصوص پیغام خطاهای مربوط به پایگاه داده و کد) رو به اصطلاح catch کنی و اونها رو به یک صفحه دلخواه ریدایرکت کنی. این صفحه البته مهمه که یه صفحه ایستا باشه یعنی یک صفحه HTML معمولی. بهتره که توش هیچ اطلاعاتی در مورد نوع و علت خطا ندیم و فقط بگیم مثلا درخواست با مشکل مواجه شد و نظایر اون !
منبع : .http://zahra-hb.com

یکی از توصیه های مهم در ایمن سازی یه وبسایت اینه که تا جایی که ممکنه اطلاعات کمتری به هکرها بدین. مثلا در مورد همین سایت، تصور کنین که اگه یه هکر میخواست در حالت عادی وقت بذاره که این اطلاعات رو بدست بیاره، چقدر باید زمان صرف میکرد و از چه راههایی باید وارد میشد!
تکنیک تزریق خطا:
حالا مورد کیهان یک خطای عادی و اجتناب ناپذیره که البته کنترل نشده ولی در حالت کلی یکی از روشهایی که هکرها استفاده می کنن تا اطلاعات سیستمی یه وب سایت رو بدست بیارن روش تزریق خطا هست. تزریق خطا یعنی اینکه به عمد اطلاعاتی وارد سیستم کنی تا سیستم با خطا مواجهه بشه و بعد از اون رفتار سیستم رو زیر نظر بگیری تا اطلاعاتی رو که افشای اونها کنترل نشدن رو بدست بیاری.
چرا میگیم اطلاعات حساس؟
خوب چون مهم هستن. نام پایگاه داده به شما تو ترزیق دستورات SQL ای کمک میکنه. از اون مهمتر نام کاربری هست. با داشتن یک نام کاربری کافیه که حمله brute force رو بر علیه سیستم اجرا کنی. تو این حمله اگه یکی از متغیرها رو داشته باشی مثلا نام کاربری، کلی تو زمان صرفه جویی میشه و سریعتر ممکنه به پسوورد هدف برسی.
راه حل چیه؟
توجه کنین که کنترل نکردن خطا یک حمله نیست ولی به هکر تو جمع آوری اطلاعات کمک میکنه. راه حلش ولی ساده است، کافیه همه پیغام های خطای تو سیستم (به خصوص پیغام خطاهای مربوط به پایگاه داده و کد) رو به اصطلاح catch کنی و اونها رو به یک صفحه دلخواه ریدایرکت کنی. این صفحه البته مهمه که یه صفحه ایستا باشه یعنی یک صفحه HTML معمولی. بهتره که توش هیچ اطلاعاتی در مورد نوع و علت خطا ندیم و فقط بگیم مثلا درخواست با مشکل مواجه شد و نظایر اون !
منبع : .http://zahra-hb.com
آخرین ویرایش توسط مدیر: