حمله XSS چیست و روش های تست آن کدامند؟

+1 رأی
میانگین بازدید روزانه 0.34551 بازدید
حمله XSS چیست و چه روش هایی برای تست آن وجود دارد؟

ابزار هایی که برای این تست ها مفید می باشد چه ابزارهایی می باشند؟
سوال 4 سال قبل در تالار برنامه نویسی توسط mp (6,957 امتیاز)
ویرایش 3 سال قبل توسط Saeed Zarinfam

1 جواب

+2 رأی
 
بهترین جواب

تعاریف مختلفی برای حملات XSS وجود داره که، همگی در چند موضوع مهم باهم، همخوانی دارن.

  • XSS یا Cross-site scripting، نوعی از حملات سایبریه که دامنه ی رخداد اون،برنامه های تحت وب و به طور کلی صفحات پویای وب رو در بر میگیره. یعنی یه صفحه ی ایستای نوشته شده با HTML تنها، زمینه ی لازم برای چنین حملاتی رو نداره.
  • در XSS، طعمه خود کاربره و نه اون برنامه ی تحت وب
  • وب سرور و پایگاه داده ی اون، "ابزار" هکر هستن و نه "هدف" حمله ی اون.

سوال اینجاس که در عمل، سناریوی XSS چیه؟

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

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

یکی از شایع ترین و البته مخرب ترین حملات سایبری عصر حاضر همین Cross-site scripting هست. سناریوی بالا، تنها یه مثال ساده از این نوع حملات بود.

حالا راه حل چیه؟

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

  • مثلا اگر برای یه وب وردپرسی می خوایم در امان باشیم، باید سناریوی ما، فایل های سیستمی وردپرس رو به خوبی محافظت کنه؛ از افزونه های نا امن استفاده نکنیم و البته، سایر افزونه ها رو بروز نگه  داریم.
  • از بسته ی HTMLPurifier برای استاندارد کردن و کنترل خروجی ها استفاده کنیم.
  • از شرکت های معتبر امنیتی (که در ایران متاسفانه کم تر پیدا می شن) بخوایم وبسایت ما رو در این باره، پویش کنن.
  • در نوشتن اسکریپت های پی اچ پی، فیلتر های مناسب رو بر روی ورودی های کاربران اعمال کنیم.
  • با معماری MVC تحت یه موتور قالب مناسب، وبمون رو پیاده کنیم.

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

بقیه اش دیگه بستگی به سواد کاربرا داره؛ مثلا استفاده ی آگاهانه از افزونه های شبیه به NoScript، بروز نگه داشتن مرورگرشون و ... می تونه اونا رو در امان نگه داره.

برای آرمایش وب سایت ها و برنامه های تحت وب هم، می تونیم این راه ها رو پیگیری کنیم:

  • استفاده از افزونه های مثه XSS Me و RightClickXSS برای مرورگرای خانواده ی موزیلا
  • بهره گیری از پویشگرای تحت وب شرکت های معتبر

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

 

جواب 4 سال قبل توسط TheFuture (484 امتیاز)
انتخاب شده در 4 سال قبل توسط mp

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.2279 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.761,746 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.541,272 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.22282 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.16360 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.6633 بازدید
سوال 1 ماه قبل در تالار برنامه نویسی توسط newmoein (0 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.8908 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 1.82,792 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 2.134,409 بازدید
کانال تلگرام جواب یاب
...