حملات XSS یا Cross site Scripting چیست و چگونه از این حملات جلوگیری کنیم؟
امنیت سایت همواره یکی از عوامل مهمی به شمار میرود که بعد از طراحی سایت از جمله اقدامات اساسی باید باشد که مورد توجه قرار میگیرد، سایتهای وردپرسی به دلیل محبوبیتی که در بین کاربران پیدا کرده است موارد توجه هکرها و مجرمان سایبری قرار گرفته است. یکی از رایجترین تهدیدات امنیتی حملات XSS یا Cross site Scripting میباشد که در این نوع حملات هکرها با اجرا کردن کدهای جاوا اسکریپتی مخرب خود بر روی مرورگر کاربر، قادرند وبسایت موردنظر را مورد هک و نفوذ خود قرار دهند. تحقیقات نشان داده است در سال ۲۰۱۹ تقریباً ۷۵ درصد از شرکتهای بزرگ مورد حملات XSS قرار گرفتهاند. اگر شما نیز به فکر جلوگیری از حملات xss در سایت وردپرسی خود هستید خواندن این مقاله را از دست ندهید.
جلوگیری از حملات xss
آنچه در این مقاله به اختصار خواهید خواند:
- (XSS) یا Cross-site Scripting چیست؟
- Cross site Scripting چگونه عمل میکند؟
- انواع حملات XSS
- چرا حملات XSS خطرناک هستند؟
- چگونه میتوان از حملات XSS در وردپرس جلوگیری کرد؟
(XSS) یا Cross-site Scripting چیست؟
Cross-site Scripting که با نام مخفف (XSS) معروف است، از متداولترین حملات جاوا اسکریپتی مورد علاقهی مجرمان سایبری میباشد که به نوعی از حملات سایبری اطلاق میشود که در آن اسکریپتهای مخرب توسط هکرها به وبسایتهای معتبر تزریق میشوند و معمولا سایتهایی مورد هدف قرار میگیرند که از امنیت بالایی برخوردار نیستند و تمرکز هکرها بیشتر معطوف به مراجعه کنندگان سایت میباشد و بطور کاملا نامحسوس اطلاعات کاربر را به سرقت میبرند.
جاوا اسکریپت یک زبان برنامه نویسی محبوب است که به شما امکان میدهد هر ویژگی پیچیده و خاصی را در وبسایت خود اضافه کنید و بیشتر وبسایتهای بزرگ و معتبر با JavaScript ساخته شدهاند اما مشکلی که وجود دارد این است هکرها قادرند از کدهای جاوا اسکریپتی برای ورود به صفحات وب شما و درج اسکریپتهای مخرب استفاده کنند.
Cross site Scripting چگونه عمل میکند؟
مجرمان سایبری قادرند حملات xss را به دو روش به وبسایتهای وردپرسی وارد کنند. آنها قادرند با دو روش دستکاری ورودیهای کاربر و یا دور زدن قوانین دسترسی یکسان به سایت موردنظر وارد شوند، با آلوده کردن سایت به کدهای مخرب اسکریپتی به اطلاعات خصوصی کاربران دست یابند و حملات خود را آغاز کنند.
۱٫ دستکاری ورودیهای کاربر
رایجترین روش انجام حملات XSS در وردپرس توسط مجرمان اینترنتی استفاده از ورودیهای کاربر است. هکرها ابتدا باید راهی برای تزریق کد اسکریپتی به صفحهای که کاربر به آن مراجعه میکند پیدا کنند، اکثر وبسایتهای وردپرسی دارای فیلدهای ورودی کاربر مانند کادر جستجو، فرم نظرات، صفحات ورود به سیستم و فرم تماس میباشد، سپس با بازدید از صفحات آلوده، کدهای مخرب در مرورگر قربانی اجرا میشوند. بخشهای ورودی معمولاً توسط افزونه وردپرس یا قالب فعال در وبسایت شما با استفاده از جاوا اسکریپت فعال میشود.
به طور مطمئن و ۱۰۰ درصدی نمیتوان گفت که همهی افزونهها و قالبهای وردپرس ایمن هستند، در واقع بسیاری از آنها دارای آسیبپذیریهای XSS میباشد، به عبارتی دیگر مجرمان سایبری قادرند از آسیبپذیریهای موجود در فیلدهای ورودی وردپرس برای اجرای فعالیتهای مخرب خود استفاده کنند. وردپرس با آسیبپذیری که دارد به هکرها اجازه میدهد کد اجرایی را در قسمت ورودی وارد و به دیتابیس ارسال کنند پس بهتر است در بخشهای ورودی کاربر فقط یک عبارت متنی ساده را از کاربر دریافت کند.
۲٫ دور زدن قوانین دسترسی یکسان
Same-Origin Policy یا همان قوانین دسترسی یکسان، اطلاعات یک صفحه را از سایر صفحات وب محدود میکند. به عبارتی سادهتر اگر در یک برگه صفحه بانکداری آنلاین خود و برگهی دیگر صفحه فیسبوک شما باشد، این دو وبسایت قادر به اشتراک گذاری اطلاعات با یکدیگر نیستند و اگر صفحه فیسبوک شما بخواهد به اطلاعات صفحه بانکداری شما دسترسی پیدا کند و آنها را بخواند وظیفهی Same-Origin Policy این است که از این اقدامات جلوگیری و از اطلاعات سایت شما محافظت کند، اما در صورتی که چندین برگه فیسبوک که از یک منبع مشابه هستند در یک مرورگر باز باشد قادر به تبادل اسکریپت و دادهها با یکدیگر میباشند.
انواع حملات XSS
حملات XSS به سه دسته اصلی زیر تقسیم میشوند، در ادامه به بررسی هر کدام از این موارد میپردازیم.
۱٫ حملات Stored XSS (حملات ذخیره شده یا ماندگار)
حملات ذخیره شده یا ماندگار که با نامهای مستعار پایدار یا persistent و I-Type نیز شناخته میشوند به این صورت است اسکریپتهای مخرب بر روی سرور مورد هدف و در قسمتهای دیتابیس، فرومها، فیلد نظرات یا دیدگاهها و فیلدهای جستجو ذخیره میشوند و زمانی که قربانی درخواستی را به سمت سرور ارسال میکند، سرور پاسخ را از بخشهای ذخیره شده به کاربر تحویل میدهد که بلافاصله پس از دریافت پاسخ از سرور ،کدهای اسکریپتی شروع به اجرا شدن بر روی سیستم قربانی میگردد.
۲٫ حملات Reflected XSS (حملات منعکس شده یا بازتابی)
حملات بازتابی یا منعکس شده که با نامهای مستعار ناپایدار یا همان Persistent-Non و II-Type نیز شناخته میشوند، حملات Reflected زمانی اتفاق میافتد که ورودی کاربر در نتایج جستجو، پیغام خطا یا هر پاسخ دیگری بدون ذخیره شدن توسط وب سرور بازگردانده شود، بنابراین به راحتی امکان تزریق اسکریپتهای مخرب XSS را برای هکرها فراهم میکند. در این روش نسبت به روش حملات ذخیره شده یا ماندگار، بازدیدکنندگان بیشتری مورد هدف قرار میگیرند.
۳٫ (DOM Based XSS (Document Object Model
نوع دیگری از حملات XSS، مبتنی بر مدل شی سند یا DOM Based (معروف به نوع ۰) در سال ۲۰۰۵ توسط Klein Amit معرفی شد. این نوع از حملات مربوط به سرویس گیرنده یا Client است و به سرور ارسال نمیشود و میتواند یک URL یا یک عنصر خاص از HTML باشد.
چرا حملات XSS خطرناک هستند؟
حملات XSS یکی از رایجترین آسیب پذیریهای وردپرس میباشد، زیرا برخلاف سایر آسیب پذیریهای امنیتی، رفع آنها بسیار مشکل است. یک اشتباه کوچک در کدهای HTML یا JavaScript موجود در صفحه وب میتواند وبسایت شما را در برابر حملات XSS آسیب پذیر و خطرات جبران ناپذیری وارد کند. دستیابی به اطلاعات کاربران و سواستفاده از آنها میتواند منجر به سرقت هویت، سرقت اطلاعات حساب کاربری و کوکی کاربران، دستیابی به حساب بانکی، کلاهبرداری و فیشینگ منجر شود، همچنین قادرند کرمهای رایانهای، بدافزارها و تروجان را گسترش دهند و به رایانههای قربانیان از راه دور دسترسی داشته باشند.
چگونه میتوان از حملات XSS در وردپرس جلوگیری کرد؟
برای جلوگیری از حملات xss در وردپرس روشهای مختلفی وجود دارد، اگر در زمینه کدنویسی حرفهای هستید میتوانید برای اعتبارسنجی و پاکسازی ورودیهای کاربر قطعه کدهایی را به سایت خود بیفزایید، اما اگر با قسمت فنی وردپرس آشنایی ندارید توصیه میکنیم در صورت امکان این کار را به متخصص فنی سایت بسپارید، در غیر این صورت از روشهای ساده و کاربردی زیر استفاده نمایید.
۱٫ نصب پلاگین امنیتی
نصب یک افزونه امنیتی وردپرس در جلوگیری از حملات xss کمک بسیاری به شما خواهد کرد. هنگام انتخاب یک افزونه امنیتی، از چک لیست زیر به عنوان مرجع استفاده کنید تا اطمینان حاصل کنید که این پلاگین از عملکرد لازم برای ایمن نگه داشتن وبسایت شما برخوردار است:
- افزونه امنیتی باید وبسایت شما را به طور منظم اسکن کند.
- باید بتواند با استفاده از فایروالها برای جلوگیری از ورود ترافیکهای مخرب استفاده کند.
- پلاگین امنیتی باید قادر به اجرای اقدامات سخت افزاری وردپرس باشد.
- افزونه باید مدیریت بروزرسانیهای وردپرس را برای شما فراهم کند.
- افزونه امنیتی باید قادر به تهیه نسخهی پشتیبان از وبسایت وردپرسی شما باشد تا در صورت هرگونه حملهی هکرها بتوانید سایت خود را بازیابی کنید.
۲٫ نصب پلاگین اختصاصی
نصب افزونهی ضد حملات XSS یکی دیگر از روشهای جلوگیری از حملات xss میباشد. افزونه های ضد XSS با مسدود کردن پارامترهایی که در مورد هدف قرار گرفتن حملات XSS نقش دارند، از جمله فیلدهای ورودی کاربر، فرم نظرات یا دیدگاهها، فرمهای تماس با ما، بخشهای ورود به سیستم و یا نوارهای جستجو را ایمن میکنند.
حملات XSS در وردپرس
حملات XSS از خطرناکترین و رایجترین حملات هکرها در سایتهای وردپرسی میباشد اما میتوان به سادگی و بدون نگرانی از آن پیشگیری کرد. اولین گام برای جلوگیری از حملات xss این است که با خواندن این مقاله با این نوع حملات آشنا شوید و اقدامات پیشگیرانه آن را انجام دهید. مهمترین اقدام برای در امان نگه داشتن وبسایت وردپرسی خود اعتبار سنجی و تائید فیلدهای ورودی میباشد، همچنین نصب پلاگینهای امنیتی و اختصاصی ضد حملات XSS کمک فراوانی به امنیت سایت شما میکند. میتوانید سوالات و نظرات خود را از بخش دیدگاهها با ما به اشتراک بگذارید.
نوشته حملات XSS یا Cross site Scripting چیست و چگونه از این حملات جلوگیری کنیم؟ اولین بار در بیست اسکریپت. پدیدار شد.