آشنایی با حملات وب  سایت ها و روش جلوگیری آن

امروزه  با گسترش روز افزون ارتباطات، امکان نفوذ از سیستمی به سیستم  دیگر و در  مجموع، ورود غیر مجاز به سیستم یا شبکه ای که فرد حق ورود به آن  را ندارد  امری نسبتاً طبیعی به حساب میآید. بارها پیش آمده است که فرد یا  افرادی،  وارد سیستم یا شبکهای در نقطهای بسیار دورتر از جایی که خود قرار   شدهاند و  بعضاً خرابکاری هایی نیز انجام داده اند. چنین افرادی معمولاً  هکر ،داشته  اند (خطاب Hacker) شده و همچنین عملی که آن ها انجام میدهند هک  (نامیده  میشود. هکر معمولاً شخصی باهوش Hack) است و با دانش قبلی نسبت به  ساختار  سیستم یا شبکهای که میخواهد آن را هک کند، هک کردن را صورت میدهد.

XSS

توسط  این حمله کدهای اسکریپت سمت کلاینت مورد نظرِ نفوذگر، از طریق  صفحات سایت  شما اجرا میشوند. به عبارت دیگر اسکریپت ها  در صفحات وب تزریق  میشوند. این  حملهای مستقیم به خود سایت نیست، بلکه حمله به کاربران سایت  است و با این  روش میتوان محتویات کوکیهای لاگین یا سشن کاربران را سرقت  کرد و نفوذگر بعد  از اینکار میتواند بجای کاربران لاگین کند و یا درصورتی  که اطلاعات مهم  دیگری نیز در کوکی ها موجود باشد از آن اطلاعات سوء  استفادههای دیگری هم  انجام خواهد داد.


XSRF

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

Header Injection

این  حمله به فرمهای تماسی که از ایمیل استفاده میکنند و کاربر ایمیل  خودش را  در ورودی مربوطه در درج mail فرم وارد میکند و بعد این آدرس ایمیل  بدون  اعتبار سنجی کردن در قسمت هدرهای تابع میشود که بوسیلهی این روش  میتوانند  از طریق فرم تماس شما به هر شخص دیگری که میخواهند ایمیل ارسال  کنند و این  ایمیل از طرف سایت شما ارسال خواهد شد، بنابراین به این طریق  مسئولیت هر  عملی به عهده شما میباشد و ضمنا میتوانند با ایمیل های جعلی که  ظاهراً از  طرف سایت شماست اقدام به فریب وکلاهبرداری از کاربران بکنند.  با این روش  میتوان ایمیل های دارای ضمیمه هم ارسال کرد و ضمیمه ممکن است  دارای فایل  اجرایی یک برنامهء جاسوسی باشد.

SQL Injection

این حمله برای نفوذ در کوئریهای دیتابیس اجرا شده و برای اجراء کوئری  های دلخواه نفوذگر، استفاده میشود.در  اغلب برنامه های کاربردی تحت وب از  بانکهای اطلاعاتی یا پایگاه داده  استفاده می شود.  این برنامه ها داده های  ورودی کاربر را به یک query تبدیل  کرده و به بانک اطلاعاتی ارسال میکند.
SQL   Injection به معنی تزریق کد SQL است که یک روش قدیمی برای حمله به سایت   هایی است که از بانک های اطلاعاتی و فرم ها استفاده می کنند.
نحوه عملکرد
روش   این حمله به این صورت است که هکر در فرم های سایت، در فیلدی که باید   اطلاعات خود را وارد کند، کد های مخرب SQL را وارد می کند و چون اين کد ها   در زمان اجرا تفسير می شوند سيستم به جای اجرا کردن کد SQL اصلی، کد مورد   نظر هکر را اجرا می کند. به طور مثال در فیلد username چیزی به غیر از  نام  کاربری وارد شود مثلا  
hi’ or 1=1′
مثال دیگر
نوع  اطلاعات ورودی در SQL Injection به نوع سرویس هاستینگ و دیتابیس  بستگی  دارد و هر دیتابیسی به یک سری کاراکترهای خاص حساس است. مثلا Mysql   در  هاست لینوکس به کاراکتر ‘ و چند کاراکتر دیگر حساس است…
روش های مقابله
  •  بهترین  راه مقابله با  حملات SQL Injection چک کردن ورودی ها قبل ارسال آنها به  پایگاه داده به  عنوان یک Query است. میتوانید ورودی فرم ها را به کمک  روشهای مختلف چک کنید  که حاوی کارکترهای غیرمجاز نباشند.
  •  یا یک روش دیگر برای جلوگیری از حملات SQL Injection ایجاد چند کاربر با دسترسی های مختلف به دیتابیس است .
  •  پیام‌های  خطایی که ایجاد  می‌کنید با دقت بیشتری انتخاب کنید.مثلاً خطای  ‘ نام  کاربری نمی‌تواند  شامل اعداد باشد’ را که توسط پایگاه داده برگردانده  می‌شود در نظر بگیرید.  همین اطلاعات کم می تواند به مهاجم این کمک را بکند  که در قسمت نام کاربری  اعداد را وارد نکند.
  •  امنیت پایگاه داده خود را ارتقاء دهید.