حمله XSS یا Cross-Site Scripting چیست؟ ویدیو آموزش حملات XSS

0 146
۵/۵ - (۳ امتیاز)

فهرست

حمله XSS یا Cross-Site Scripting چیست؟

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

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

حمله XSS چگونه انجام می شود؟

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

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

خطرات حملات XSS

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

تاثیر حملات XSS برروی کاربر و برنامه تحت وب

با بهره‌برداری از آسیب‌پذیری‌های XSS، مهاجم می‌تواند اقدامات مخربی مانند:

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

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

انواع حملات XSS

حملات XSS را می توان به سه دسته اصلی طبقه بندی کرد:

  • Stored XSS
  • Reflected XSS
  • DOM-based XSS

حملات Stored XSS یا Persistent XSS

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

در ادامه ویدیو کاربردی آموزش حملات Stored XSS بصورت عملیاتی را می توانید مشاهده کنید.

حملات Reflected XSS یا Non-Persistent XSS

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

در ادامه ویدیو کاربردی آموزش حملات Reflected XSS بصورت عملیاتی را می توانید مشاهده کنید.

حملات DOM-based XSS

XSS مبتنی بر DOM به یک آسیب‌پذیری XSS اشاره دارد که به جای بخشی از HTML در DOM (یا همان Document Object Model) ظاهر می‌شود. در حملات Stored XSS و Reflected XSS، می توانید پیلود آسیب پذیری را در صفحه پاسخ (Response) مشاهده کنید، اما در XSS مبتنی بر DOM، کد منبع HTML و پاسخ حمله یکسان خواهد بود، یعنی پیلود را نمی توانید در Response مشاهده کنید. پیلود تنها در Runtime یا با بررسی DOM صفحه قابل مشاهده است.

حمله XSS مبتنی بر DOM اغلب یک حمله سمت کاربر است و پیلود مخرب هرگز به سرور ارسال نمی شود. این امر تشخیص فایروال‌های برنامه کاربردی وب (WAF) و مهندسان امنیتی را که گزارش‌های سرور را تجزیه و تحلیل می‌کنند، دشوارتر می‌کند، زیرا هرگز حمله را نمی‌بینند. اشیا DOM که اغلب دستکاری می شوند عبارتند از URL (document.URL)، قسمت لنگر URL (location.hash) و Referrer (document.referrer).

درباره ما

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
دوره‌های آکادمی ترجنس | courses.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence

ارسال یک پاسخ