حملات XSS یا Cross site Scripting چیست و چگونه از این حملات جلوگیری کنیم؟

جلوگیری از حملات xss
جلوگیری از حملات xss

امنیت سایت همواره یکی از عوامل مهمی به شمار می‌رود که بعد از طراحی سایت از جمله اقدامات اساسی باید باشد که مورد توجه قرار می‌گیرد، سایت‌های وردپرسی به دلیل محبوبیتی که در بین کاربران پیدا کرده است موارد توجه هکرها و مجرمان سایبری قرار گرفته است. یکی از رایج‌ترین تهدیدات امنیتی حملات XSS یا Cross site Scripting می‌باشد که در این نوع حملات هکرها با اجرا کردن کد‌های جاوا اسکریپتی مخرب خود بر روی مرورگر کاربر، قادرند وبسایت موردنظر را مورد هک و نفوذ خود قرار دهند. تحقیقات نشان داده است در سال 2019 تقریباً 75 درصد از شرکت‌های بزرگ مورد حملات XSS قرار گرفته‌اند. اگر شما نیز به فکر جلوگیری از حملات xss در سایت وردپرسی خود هستید خواندن این مقاله را از دست ندهید.

جلوگیری از حملات xss

آنچه در این مقاله به اختصار خواهید خواند:

  • (XSS) یا Cross-site Scripting چیست؟
  • Cross site Scripting چگونه عمل می‌­کند؟
  • انواع حملات XSS
  • چرا حملات XSS خطرناک هستند؟
  • چگونه می‌­توان از حملات XSS در وردپرس جلوگیری کرد؟

(XSS) یا Cross-site Scripting چیست؟

Cross-site Scripting-جلوگیری از حملات xss
Xss چیست؟

Cross-site Scripting که با نام مخفف (XSS) معروف است، از متداول‌ترین حملات جاوا اسکریپتی مورد علاقه‌ی مجرمان سایبری می‌باشد که به نوعی از حملات سایبری اطلاق می‌شود که در آن اسکریپت‌های مخرب توسط هکرها به وبسایت‌های معتبر تزریق می‌شوند و معمولا سایت‌هایی مورد هدف قرار می‌گیرند که از امنیت بالایی برخوردار نیستند و تمرکز هکرها بیشتر معطوف به مراجعه کنندگان سایت می‌باشد و بطور کاملا نامحسوس اطلاعات کاربر را به سرقت می‌برند.

جاوا اسکریپت یک زبان برنامه نویسی محبوب است که به شما امکان می‌دهد هر ویژگی پیچیده و خاصی را در وبسایت خود اضافه کنید و بیشتر وبسایت‌های بزرگ و معتبر با JavaScript ساخته شده‌اند اما مشکلی که وجود دارد این است هکرها قادرند از کدهای جاوا اسکریپتی برای ورود به صفحات وب شما و درج اسکریپت‌های مخرب استفاده کنند.

Cross site Scripting چگونه عمل می­‌کند؟

how to work Cross site Scripting-جلوگیری از حملات xss
Cross site Scripting چگونه عمل می­‌کند؟

مجرمان سایبری قادرند حملات xss را به دو روش به وبسایت‌های وردپرسی وارد کنند. آن‌ها قادرند با دو روش دستکاری ورودی‌های کاربر و یا دور زدن قوانین دسترسی یکسان به سایت موردنظر وارد شوند، با آلوده کردن سایت به کدهای مخرب اسکریپتی به اطلاعات خصوصی کاربران دست یابند و حملات خود را آغاز کنند.

1. دستکاری ورودی‌­های کاربر

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

به طور مطمئن و 100 درصدی نمی‌توان گفت که همه‌ی افزونه‌ها و قالب‌های وردپرس ایمن هستند، در واقع بسیاری از آن‌ها دارای آسیب‌پذیری‌های XSS می‌باشد، به عبارتی دیگر مجرمان سایبری قادرند از آسیب‌پذیری‌های موجود در فیلدهای ورودی وردپرس برای اجرای فعالیت‌های مخرب خود استفاده کنند. وردپرس با آسیب‌پذیری که دارد به هکرها اجازه می‌دهد کد اجرایی را در قسمت ورودی وارد و به دیتابیس ارسال کنند پس بهتر است در بخش‌های ورودی کاربر فقط یک عبارت متنی ساده را از کاربر دریافت کند.

2. دور زدن قوانین دسترسی یکسان

Bypass the same access rules
دور زدن قوانین دسترسی یکسان

Same-Origin Policy یا همان قوانین دسترسی یکسان، اطلاعات یک صفحه را از سایر صفحات وب محدود می‌کند. به عبارتی ساده‌تر اگر در یک برگه صفحه بانکداری آنلاین خود و برگه‌ی دیگر صفحه فیسبوک شما باشد، این دو وبسایت قادر به اشتراک گذاری اطلاعات با یکدیگر نیستند و اگر صفحه فیسبوک شما بخواهد به اطلاعات صفحه بانکداری شما دسترسی پیدا کند و آن‌ها را بخواند وظیفه‌ی Same-Origin Policy این است که از این اقدامات جلوگیری و از اطلاعات سایت شما محافظت کند، اما در صورتی که چندین برگه فیسبوک که از یک منبع مشابه هستند در یک مرورگر باز باشد قادر به تبادل اسکریپت و داده‌ها با یکدیگر می‌باشند.

انواع حملات XSS

حملات XSS به سه دسته اصلی زیر تقسیم می­‌شوند، در ادامه به بررسی هر کدام از این موارد می­‌پردازیم.

1. حملات Stored XSS (حملات ذخیره شده یا ماندگار)

حملات ذخیره شده یا ماندگار که با نام‌های مستعار پایدار یا persistent و I-Type نیز شناخته می‌شوند به این صورت است اسکریپت‌های مخرب بر روی سرور مورد هدف و در قسمت‌های دیتابیس، فروم‌ها، فیلد نظرات یا دیدگاه‌ها و فیلدهای جستجو ذخیره می‌شوند و زمانی که قربانی درخواستی را به سمت سرور ارسال می‌کند، سرور پاسخ را از بخش‌های ذخیره شده به کاربر تحویل می‌دهد که بلافاصله پس از دریافت پاسخ از سرور ،کدهای اسکریپتی شروع به اجرا شدن بر روی سیستم قربانی می‌گردد.

  5 تهدید امنیتی در وردپرس و روش حل قطعی آن‌ها

2. حملات Reflected XSS (حملات منعکس شده یا بازتابی)

حملات بازتابی یا منعکس شده که با نام‌های مستعار ناپایدار یا همان Persistent-Non و II-Type نیز شناخته می‌شوند، حملات Reflected زمانی اتفاق می‌افتد که ورودی کاربر در نتایج جستجو، پیغام خطا یا هر پاسخ دیگری بدون ذخیره شدن توسط وب سرور بازگردانده شود، بنابراین به راحتی امکان تزریق اسکریپت‌های مخرب XSS را برای هکرها فراهم می‌کند. در این روش نسبت به روش حملات ذخیره شده یا ماندگار، بازدیدکنندگان بیشتری مورد هدف قرار می‌گیرند.

3. (DOM Based XSS (Document Object Model

نوع دیگری از حملات XSS، مبتنی بر مدل شی سند یا DOM Based (معروف به نوع 0) در سال ۲۰۰۵ توسط Klein Amit معرفی شد. این نوع از حملات مربوط به سرویس گیرنده یا Client است و به سرور ارسال نمی‌شود و می‌تواند یک URL یا یک عنصر خاص از HTML باشد.

چرا حملات XSS خطرناک هستند؟

حملات XSS یکی از رایج‌ترین آسیب پذیری‌های وردپرس می‌باشد، زیرا برخلاف سایر آسیب پذیری‌های امنیتی، رفع آنها بسیار مشکل است. یک اشتباه کوچک در کدهای HTML یا JavaScript موجود در صفحه وب می‌تواند وبسایت شما را در برابر حملات XSS آسیب پذیر و خطرات جبران ناپذیری وارد کند. دستیابی به اطلاعات کاربران و سواستفاده از آن‌ها می‌تواند منجر به سرقت هویت، سرقت اطلاعات حساب کاربری و کوکی کاربران، دستیابی به حساب بانکی، کلاهبرداری و فیشینگ منجر شود، همچنین قادرند کرم‌های رایانه‌ای، بدافزارها و تروجان را گسترش دهند و به رایانه‌های قربانیان از راه دور دسترسی داشته باشند.

چگونه می­‌توان از حملات XSS در وردپرس جلوگیری کرد؟

How to prevent XSS attacks in WordPress
چگونه می توان از حملات XSS در وردپرس جلوگیری کرد؟

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

1. نصب پلاگین امنیتی

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

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

2. نصب پلاگین اختصاصی

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

حملات XSS در وردپرس

حملات XSS از خطرناک‌ترین و رایج‌ترین حملات هکرها در سایت‌های وردپرسی می‌باشد اما می‌توان به سادگی و بدون نگرانی از آن پیشگیری کرد. اولین گام برای جلوگیری از حملات xss این است که با خواندن این مقاله با این نوع حملات آشنا شوید و اقدامات پیشگیرانه آن را انجام دهید. مهم‌ترین اقدام برای در امان نگه داشتن وبسایت وردپرسی خود اعتبار سنجی و تائید فیلدهای ورودی می‌باشد، همچنین نصب پلاگین‌های امنیتی و اختصاصی ضد حملات XSS کمک فراوانی به امنیت سایت شما می‌کند. می‌توانید سوالات و نظرات خود را از بخش دیدگاه‌ها با ما به اشتراک بگذارید.

همچنین اگر محتوای امروز همیار وردپرس برایتان مفید بود، خوشحال می‌شویم آن را با دوستان خود در شبکه‌های اجتماعی به اشتراک بگذارید.

منبع: wpexplorer.com

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

اگر می‌خواهید از آخرین و محبوب‌ترین مقالات ما در ایمیل خود مطلع شوید، همین الان ایمیل خود را در کادر زیر وارد کنید:

تعداد علاقه‌مندانی که تاکنون عضو خبرنامه ما شده‌اند:

دیدگاهتان را بنویسید

مطالب زیر را حتما بخوانید

دوره‌های آموزشی