اسکریپت بین سایتی چیست؟

Cross-Site Scripting که XXS نیز نامیده می شود، یک حمله مخرب است که عمدا اسکریپت های مخرب را به مرورگر وب کاربر تزریق می کند. مهاجم کدهای مخرب را در یک برنامه وب یا صفحه وب اجرا می کند و به محض بازدید کاربر از برنامه وب یا صفحه وب. اسکریپت های مخرب به طور خودکار به مرورگر کاربران منتقل می شود.

Cross Scripting

به این ترتیب مهاجم کنترل مرورگر کاربر یا حساب کاربری او در یک وب سایت خاص را در دست می گیرد. به این معنی که این حمله به خود برنامه وب آسیبی نمی رساند، بلکه کاربران آن برنامه را تحت تأثیر قرار می دهد.

علاوه بر این، اسکریپت های مخرب معمولاً به صورت کد جاوا اسکریپت منتقل می شوند. با این حال، کدهای مخرب همچنین می توانند از مرورگرهای کاربران به زبان های دیگر از جمله HTML، Ajax، Flash و Java سوء استفاده کنند.

خلاصه توضیح

در اینجا خلاصه مختصری از توضیح اسکریپت بین سایتی آمده است:

  • XXS یک حمله مبتنی بر وب به صفحات وب یا برنامه های وب آسیب پذیر است
  • این به کاربران برنامه وب آسیب می رساند نه خود برنامه
  • XXS برنامه های مخرب را از طریق جاوا اسکریپت به کاربران منتقل می کند.

چگونه حمله بین سایتی (XXS) کار می کند؟

حملات اسکریپت نویسی بین سایتی به گونه ای انجام می شود که ابتدا یک برنامه وب آسیب پذیر را با اسکریپت مخرب دستکاری می کند و سپس برنامه وب آن جاوا اسکریپت مخرب را به مرورگر کاربر تحویل می دهد.

به محض ورود اسکریپت مخرب به مرورگر کاربر، مهاجم به راحتی می تواند کنترل مرورگر کاربر را در دست بگیرد.

هدف از اسکریپت بین سایتی

یک مهاجم حملات XXS را به دلایل زیر انجام می دهد:

  • برای هک کردن یک حساب کاربری
  • برای انتقال نرم افزارهای مخرب و ویروس ها بر روی سیستم ها با استفاده از اینترنت
  • برای دسترسی به محتوای کلیپ بورد و تاریخچه مرورگر کاربر
  • برای اجرای از راه دور مرورگر کاربر
  • برای بهره برداری و دسترسی به برنامه های کاربردی اینترانت

نمونه هایی از اسکریپت بین سایتی

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

اکنون، ما یک مثال ساده از Cross-Site Script را در زیر به اشتراک می گذاریم:

این یک کد JSP است که در آن می‌توانید ببینید که یک درخواست HTTP انجام می‌شود و کد یک شناسه کارمند، eid را می‌خواند و آن را به کاربر نمایش می‌دهد.

کد در این مثال فقط در صورتی خوب کار می کند که کد (eid) شامل متن الفبایی عددی استاندارد باشد.

اما، اگر همان کد (eid) از هر متاکاراکتر یا مقدار کد منبع استفاده کند، به این معنی است که کد توسط مرورگر وب مجبور می شود تا به عنوان پاسخ HTTP به کاربر نمایش داده شود.

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

معمولاً مهاجم از طریق مهندسی اجتماعی و ایمیل کاربران را فریب می دهد و کاربران را برای بازدید از یک لینک مخرب جذب می کند.

به محض اینکه کاربر روی پیوند مخرب کلیک می کند، ناخواسته محتوای مخرب برنامه وب را به سیستم خود باز می فرستد.

فرآیند بازتاب محتوای مخرب، بازتاب XXS نامیده می شود. حملات XXS باعث اختلالات جدی می شود که اغلب منجر به دستکاری و سرقت شدید داده ها می شود.

انواع اسکریپت بین سایتی

  1. XSS ذخیره شده/مداوم

حمله XSS ذخیره شده/پایدار مخل ترین شکل حمله XSS است که در آن مهاجم یک اسکریپت دائمی را بر روی برنامه وب منتقل می کند. وقتی هر درخواستی روی سرور ارسال می شود، کاربران قربانی اسکریپت های مخرب می شوند.

  1. XXS منعکس شده است

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

  1. حملات مبتنی بر DOM

حملات مبتنی بر DOM کمتر رایج هستند و به گونه ای متفاوت هستند که هرگز کد سمت سرور را مختل نمی کنند، بلکه فقط به اسکریپت های سمت سرویس گیرنده متکی است.

DOM به مدل شی سند اشاره دارد که یک رابط برنامه نویسی کاربردی (API) برای اسناد HTML و XML است. حملات مبتنی بر DOM تنها زمانی اتفاق می‌افتد که یک برنامه وب داده‌های کاربر را در مدل شی سند نمایش دهد.

برنامه وب داده های کاربر را می خواند و به مرورگر منتقل می کند. اگر اطلاعات کاربر ایمن نباشد، مهاجم می تواند به راحتی اسکریپت های مخرب را در DOM ذخیره کند.

چگونه آسیب پذیری وب سایت خود را تعیین کنیم

شما به راحتی می توانید آسیب پذیری وب سایت خود را از طریق اسکنرهای آسیب پذیری وب مانند Nessus، Nikto، Vega، Grab، WebScarab و موارد دیگر بررسی کنید.

مهم است که به دقت بررسی امنیتی کد انجام شود و تمام حفره‌های امنیتی احتمالی که می‌توانند به ورودی درخواست HTTP اجازه دسترسی به خروجی HTML را بدهد، پیدا کنید.

به خاطر داشته باشید که انواع تگ های HTML را می توان برای اجرای یک جاوا اسکریپت مخرب استفاده کرد. بنابراین، اسکن یک وب سایت از طریق اسکنرهای امنیتی وب بسیار مهم است.

در صورتی که هر بخشی از وب سایت آسیب پذیر باشد، این احتمال وجود دارد که کل وب سایت قربانی آسیب شود.

چگونه از حملات Cross-Site Scripting جلوگیری کنیم

  1. فرار از ورودی کاربر

فرار از ورودی کاربر روشی برای جلوگیری از حملات XXS است. در این روش باید مطمئن شوید که داده هایی که برنامه وب شما قرار است به مرورگر وب کاربران بازگرداند، سالم باشد.

وردپرس و PHP شامل توابعی هستند که به طور خودکار داده هایی را که شما در حال خروجی هستید پاکسازی می کنند.

  1. اعتبار سنجی ورودی

اعتبار سنجی ورودی فرآیندی است که در آن هر داده ارائه شده توسط یک برنامه وب قبل از ارسال مجدد به مرورگر کاربران به طور کامل بررسی و تأیید می شود.

برنامه های کاربردی وب باید داده ها را قبل از ورود به سیستم های دیگر بررسی و تأیید کنند. این به شناسایی هرگونه لینک یا برنامه مخربی که برای حمله به سیستم کاربران است کمک می کند.

نتیجه

حملات XXS رایج هستند و می توانند حریم خصوصی کاربران را مختل کنند، با این حال، آزمایش و جلوگیری از برنامه های وب شما از اسکریپت های مخرب آسان است.

برنامه های کاربردی وب باید به طور مداوم ورودی خود را قبل از ارسال مستقیم به مرورگر کاربران، پاکسازی کنند. همچنین، اسکن‌های منظم وب به برنامه‌های کاربردی وب کمک می‌کند تا آسیب‌پذیری‌هایی را پیدا کنند.

امروز کنترل حریم خصوصی خود را در دست بگیرید! رفع انسداد وب‌سایت‌ها، دسترسی به پلتفرم‌های پخش جریانی و دور زدن نظارت ISP.

گرفتن FastestVPN
اشتراک در خبرنامه
پست های پرطرفدار هفته و آخرین اطلاعیه ها را از FastestVPN از طریق خبرنامه ایمیل ما
شمایل
0 0 رای
رتبه بندی مقاله

شما ممکن است همچنین لایک کنید

اشتراک
اطلاع از
مهمان
0 نظرات
بازخورد درون خطی
مشاهده همه نظرات

معامله یک عمر را برای $ 40!

  • 800+ سرور
  • سرعت 10 گیگابیت بر ثانیه
  • WireGuard
  • دو VPN
  • 10 اتصال دستگاه
  • بازپرداخت 31 روزه
گرفتن FastestVPN