XSS یا همان Cross-Site Scripting نوعی آسیب پذیری امنیتی کامپیوتر است که نوعا در Web Application ها یافت میشود. XSS به مهاجم این توانایی را میدهد تا Client-Side Script را به صفحات وبی که قابل رویت برای دیگران نیز هست، تزریق کند.
امنیت بر روی وب به مکانیزم های مختلفی بستگی دارد که در همگی آن ها به یک مفهوم کلیدی بنام "same origin policy" بر میخوریم. در علم کامپیوتر، same origin policy مفهوم مهمی در مدل امنیتی web application است. این سیاست به اسکریپت ها این اجازه را میدهد تا در صورتی بتوانند اجرا شوند که منشاء آن ها همان سایتی باشد که صفحه وب از آن لود شده است.
منظور از منشاء، ترکیبی از Schema، پورت و Host name است. تنها در این صورت است که اسکریپت ها اجازه دسترسی به DOM های دیگردر همان سایت بدون هیچگونه محدودیتی را خواهند داشت. گفتنی است که DOM، يک رابط برنامه نويسی برای سندهای XML و Html است.خوب؛ به بحث اصلی خودمان بر گردیم. XSS از آسیب پذیری های شناخته شده اپلیکیشن های تحت وب، سرورهایشان و هرگونه سیستم مرتبطی که به آن ها وصل است، سوء استفاده میکند.
با استفاده از یکی از موراد گفته شده، مهاجم میتواند محتوایی را که از طرف آن سایت بدست کاربر میرسد، با مقادیر آلوده پر کند. وقتی که چنین محتوای آلوده ای به مرورگر سیستم کلاینت وارد شود، با فرض ان که از طرف سایتی مورد اعتماد دریافت شده است، در سایه دسترسی که سیستم به آن میدهد، به هدف خود نائل خواهد شد. مهاجم از طریق پیدا کردن راهی برای تزریق اسکریپت های آلوده به صفحات وب، میتواند نهایتا با دسترسی بالایی به اطلاعات حساس، کوکی های موجود و اطلاعات مختلف دیگر که از طرف مرورگرکلاینت به نیابت از کاربر نگهداری میشود، دسترسی پیدا نماید. حمله Cross-Site Scripting در نتیجه حالت خاصی از Code injection (تزریق کد) صورت میپذیرد.
هیچ جریان مستقل و بصورت استانداری شده از XSS وجود ندارد اما اکثر کارشناسان با مشاهده رفتار این آسیب پذیری آن را به دو جریان دسته بندی کرده اند: non-persistent و persistent. برخی از منابع نیز این دو جریان را به دو گروه traditional و DOM-Based دسته بندی کرده اند.
آسیب پذیری reflected XSS، تا کنون توانسته است لقب معمولترین و پرکاربردترین نوع XSS را بخود اختصاص دهد.این باگ امنیتی نشان میدهد زمانی که اطلاعات توسط کاربر وب ایجاد میشوند، بخصوص در پارامترهای پرس و جویی HTTP و یا فرم های ارسالی HTML، سریعا توسط اسکریپت های server-side تجزیه و تحلیل روی ان ها انجام شده و استفاده لازم برده میشود و از ان طرف بدون هیچ گونه دقتی، جوابی برای کاربر نمایش داده میشود.در این حمله لینک موجود در صفحات وب آلوده است و با کلیک کاربر و یا استفاده از آن ها کدهای اسکریپت در سمت سرور اطلاعات کاربر را خواهد ربود.
حمله ناشی از این آسیب پذیری اثری بسیارمخرب تر را در جریان XSS ایفا میکند. این حمله زمانی رخ میدهد که مهاجم اطلاعات آماده شده خود را توسط سرور ذخیره کرده است و پس از آن مرتبا آن را در صفحات مختلف وب در معرض دید کاربران قرار میدهد. یک مثال کلاسیک از این مورد، تبلیغ کیبورد آنلاین است که به کاربر این اجازه را میدهد تا در قالب HTML برای کاربران دیگر پیام بفرستد.در واقع در این حمله هکر کدهای مخربی را که یک کاربر در آینده ان ها را فراخوانی میکند، دخیره کرده و سپس با یک کلیک ناآگاهانه کاربر، کدهای مخرب اجرا میشوند.
آیتی پرویی باشید.
نویسنده: احسان امجدی
منبع: انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
کارشناس امنیت اطلاعات و ارتباطات
احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود