wait لطفا صبر کنید
صفحه اصلی  » مقالات
1395/11/30
9684
00

حملات XSS (بخش اول)

کدهای اسکریپت (javascript و vbscript) اگر چه امکانات خوبی را برای طراحان سایت و برنامه های تحت وب فراهم کرده اند ولی راهی برای نفوذ هکرها نیز باز نموده اند. هکر ها از طریق تزریق کدهای اسکریپت مخرب به برنامه وب، قادر به انجام اعمال خرابکارانه ای چون سرقت نشست کاربران مجاز و نفوذ به سرورهای وب خواهند بود. بر اساس گزارشی از سازمان OWASP در سال 2010 نزدیک به 40 درصد حملات رخ داده علیه برنامه های وب متعلق به حملات XSS بوده است.

 

 

کدهای اسکریپت (javascript و vbscript) اگر چه امکانات خوبی را برای طراحان سایت و برنامه های تحت وب فراهم کرده اند ولی راهی برای نفوذ هکرها نیز باز نموده اند. هکر ها از طریق تزریق کدهای اسکریپت مخرب به برنامه وب، قادر به انجام اعمال خرابکارانه ای چون سرقت نشست کاربران مجاز و نفوذ به سرورهای وب خواهند بود. بر اساس گزارشی از سازمان OWASP در سال 2010 نزدیک به 40 درصد حملات رخ داده علیه برنامه های وب متعلق به حملات XSS بوده است.

 

 

در حملات XSS (مختصر شده Cross Site Scripting می باشد ولی به دلیل شباهت آن با CSS از کلمه اختصاری XSS استفاده می گردد) یک حمله کننده از یک برنامه تحت وب برای ارسال کدهای بدخواه (معمولا به صورت اسکریپت) به یک کاربر برنامه استفاده می کند. این حملات بسیار گسترده بوده و هنگامی رخ می دهند که ورودی دریافت شده از یک کاربرد بدون اعتبارسنجی و یا کدگذاری (encoding) به خروجی ارسال گردد. اگر متن دریافت شده از کاربرد اعتبار سنجی نگشته و به خروجی ارسال گردد، مرورگر اسکریپت های آن را به صورت زبان نشانه گذاری (Mark-up language) تفسیر کرده و کدهای اسکریپت را اجرا می کند. متداول ترین انواع حملات XSS دو نوع زیر می باشند که در سمت سرور (Server Side) رخ می‎دهند.

 

حملات xss معمولا زمانی رخ می دهند که :

1)      داده ها از منابع غیرقابل اعتماد به برنامه های وب وارد می شوند. به عنوان مثال ممکن است درخواست مشاهده صفحه وب (request) از سمت یک کاربر ناشناس و غیرقابل اعتماد دریافت شود.

2)      داده های پاسخ (response) بدون اعتبارسنجی از لحاظ کدهای بدخواه به سمت کاربر وب ارسال شوند.

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

 

در زیر چند مثال از حملات XSS را مشاهده می کنید:

 

 

 

 

 

 

 

حملات XSS بازتابیده: (Reflected)

 

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

 

 

 

حملات XSS ذخیره شده: (Stored XSS attacks)

 

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

 

 

 

 http://owasp.com

تماس با ما

ایمـیل : I N F O @ D E P N A . C O M
 دفتر تهران : خیابان کارگر شمالی - بعد از مسجد النبی - خیابان ابراهیمی (17) - پلاک 140
تلفن:88019001-021
 دفتر قم : خیابان 45 متری صدوقی - 20 متری فجر - خیابان دانش - کوی 14 - پلاک 10
تلفن:32906868-025