امروزه اشخاص بیشتری به اینترنت دسترسی دارند. همین موضوع باعث شده است که سازمانها اپلیکیشنهای تحت وب بیشتری توسعه دهند تا کاربران بتوانند با آن سازمانها در تعامل باشند. متاسفانه کدهای ضعیف و آسیبپذیر باعث میشوند که دسترسیهای غیرمجاز به اطلاعات حساس و وب سرور صورت بگیرد.
در این مقاله به تکنیکهایی که منجر به هک وبسایت میشوند اشاره میکنیم و راههای محافظت در برابر آنها را مرور میکنیم.
وب اپلیکیشن چیست ؟ تهدید وب چیست ؟
وب اپلیکیشن یا وبسایت یک اپلیکیشن بر اساس مدل کلاینت-سرور است. سرور دسترسی به پایگاه داده و منطق برنامه را فراهم میکند. اپلیکیشن کلاینت روی مرورگر وب کاربر اجرا میشود. وب اپلیکیشنها اغلب با زبانهای PHP, Python, Java, Go و غیره نوشته میشوند.
بیشتر اپلیکیشنهای وب روی سرورهایی هاست میشوند که از طریق شبکه اینترنت قابل دسترسی هستند. بنابراین اگر آسیبپذیری داشته باشند میتوانند مورد حمله قرار بگیرند. در ادامه به تهدیدهای رایج اپلیکیشنهای وب اشاره میکنیم.
چگونه یک وبسایت هک میشود ؟ تهدیدهای رایجی که به هک وبسایت منجر میشود ؟
SQL Injection : هدف از این حمله دور زدن الگوریتم ورود به سیستم، یا دسترسی به پایگاه داده و غیره است.
DoS : هدف از این حمله جلوگیری از دسترسی کاربران به وبسایت یا اپلیکیشن وب است.
XSS : هدف از این حمله تزریق کد است تا روی مرورگر وب کلاینت اجرا شود.
Cookie/Session Poisoning : هدف از این حمله تغییر دادههای کوکی/نشست برای دسترسی غیر مجاز است.
Form Tampering : هدف از این حمله تغییر دادههای فرم است، برای مثال تغییر قیمت محصولات در فروشگاه آنلاین تا خرابکار بتواند آن محصول را با قیمت پایینتر خریداری کند.
Code Injection : هدف از این حمله تزریق کد های مانند php یا python سمت سرور است تا روی سرور اجرا شود. این کد میتواند روی سرور در پشتی نصب کند، اطلاعات حساس و مهم را افشا کند و غیره.
Defacement : هدف از این حمله تغییر یک صفحه روی وبسایت و هدایت تمام درخواستهای کاربران به آن صفحه است که احتمالا پیغام خرابکار را نشان خواهد داد.
چگونه از وبسایت در برابر هک شدن محافظت کنیم؟
SQL Injection : پاکسازی و اعتبار سنجی دادههای ورودی کاربر غیر از ارسال آنها در پایگاه داده برای پروسس میتواند خطر حمله SQL Injection را کاهش دهد.
جلوگیری از حمله DoS : فایروال میتواند ترافیک غیرمعمول یک IP مشخص را فیلتر کند. پیکربندی مناسب شبکه و سیستم تشخیص نفوذ میتواند به کاهش حمله DoS کمک کند.
XSS : با پاکسازی و اعتبارسنجی هدر و پارامترهای URL، پارامترهای فرم و غیره میتواند جلوی حمله XSS را بگیرد.
Cookie/Session Poisoning : از طریق رمزگذاری کوکی، تاریخ انقضای کوکی، وابسته کردن کوکی به آدرس IP مشتری که برای آن ایجاد شده، میتوان جلوی این حمله را گرفت.
Form tampering : با اعتبارسنجی و تائید ورودی کاربر قبل از پروسس، میتوان جلوی این حمله را گرفت.
Code Injection :با پاکسازی و اعتبارسنجی میتواند جلوی این حمله را گرفت.
Defacement :باید تمام آسیبپذیریهای رایج برای دسترسی به سرور رفع شده باشند.