در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

Cross-Site Scripting چیست؟

XSS یا همان Cross-Site Scripting نوعی آسیب پذیری امنیتی کامپیوتر است که نوعا در Web Application ها یافت میشود. XSS به مهاجم این توانایی را میدهد تا Client-Side Script را به صفحات وبی که قابل رویت برای دیگران نیز هست، تزریق کند.

  • نکته: Client-Side Script سطحی از برنامه های کامپیوتری روی وب است که در طرف کلاینت و توسط مرورگر کاربر اجرا میشود.یک آسیب پذیری از نوع Cross-Site Scripting ممکن است توسط نفوذگران جهت دور زدن کنترل های دسترسی مورد استفاده و بهره برداری قرار گیرد. این اسیب پذیری در سال 2007 بیش از 84 درصد گزارشات سیمنتک در خصوص آسیب پذیری های امنیتی بر روی وب سرورها را بخود اختصاص داده است.

در پس زمینه، چه اتفاقی می‌افتد؟

امنیت بر روی وب به مکانیزم های مختلفی بستگی دارد که در همگی آن ها به یک مفهوم کلیدی بنام "same origin policy" بر میخوریم. در علم کامپیوتر، same origin policy مفهوم مهمی در مدل امنیتی web application است. این سیاست به اسکریپت ها این اجازه را میدهد تا در صورتی بتوانند اجرا شوند که منشاء آن ها همان سایتی باشد که صفحه وب از آن لود شده است.

منظور از منشاء، ترکیبی از Schema، پورت و Host name است. تنها در این صورت است که اسکریپت ها اجازه دسترسی به DOM های دیگردر همان سایت بدون هیچگونه محدودیتی را خواهند داشت. گفتنی است که DOM، يک رابط برنامه نويسی برای سندهای XML و Html است.خوب؛ به بحث اصلی خودمان بر گردیم. XSS از آسیب پذیری های شناخته شده اپلیکیشن های تحت وب، سرورهایشان و هرگونه سیستم مرتبطی که به آن ها وصل است، سوء استفاده میکند.

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


آسیب پذیری Cross-Site Scripting چیست؟



انواع آسیب پذیری XSS

هیچ جریان مستقل و بصورت استانداری شده از XSS وجود ندارد اما اکثر کارشناسان با مشاهده رفتار این آسیب پذیری آن را به دو جریان دسته بندی کرده اند: non-persistent و persistent. برخی از منابع نیز این دو جریان را به دو گروه traditional و DOM-Based دسته بندی کرده اند.

(Reflected(non-perssitent

آسیب پذیری reflected XSS، تا کنون توانسته است لقب معمولترین و پرکاربردترین نوع XSS را بخود اختصاص دهد.این باگ امنیتی نشان میدهد زمانی که اطلاعات توسط کاربر وب ایجاد میشوند، بخصوص در پارامترهای پرس و جویی HTTP و یا فرم های ارسالی HTML، سریعا توسط اسکریپت های server-side تجزیه و تحلیل روی ان ها انجام شده و استفاده لازم برده میشود و از ان طرف بدون هیچ گونه دقتی، جوابی برای کاربر نمایش داده میشود.در این حمله لینک موجود در صفحات وب آلوده است و با کلیک کاربر و یا استفاده از آن ها کدهای اسکریپت در سمت سرور اطلاعات کاربر را خواهد ربود.

(Persistent(Stored

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


آی‌تی پرویی باشید.

نویسنده: احسان امجدی
منبع: انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
#code_injection_چیست #انواع_حملات_به_وب_سایت #cross_site_scripting_چیست #sql_injection_چیست #xpath_injection_چیست #آسیب_پذیری_client-side_script #xml_injection_چیست #code_injection_چیست؟ #سیستم_تشخیص_نفوذ_تحت_وب #xss_injection_چیست
4 نظر
alireza ch12
سرورهایشان و هرگونه سیستم مرتبطی که به آن ها وصل است، سوء استفاده میکند

چطوری وقتی کلاینت ساید هست سرورها مورد سو استفاده قرار میگیرند ؟!

احسان امجدی

علیرضا جان در مطلب قید شده که " XSS از آسیب پذیری های شناخته شده اپلیکیشن های تحت وب، سرورهایشان و هرگونه سیستم مرتبطی که به آن ها وصل است، سوء استفاده میکند." و این ربطی به client-side script نداره.

یک هکر نهایتا میتونه با استفاده از آسیب پذیری XSS و نفوذ به وب سرور، حمله client-side script رو هم انجام بده.

alireza ch12

باز متوجه منظورتون نشدم

همین جمله آخرتون چطورمیشه با xss به سرور نفوذ کرد؟ نمیشه! مگر با زدن کوکی مدیرسایت

احسان امجدی

علیرضا جان منظور از سرور همون وب سرورها هستند. از طریق آسیب پذیری XSS و از طریق نفوذ به وب سرورهایی مثل آپاچی و IIS، متعاقبا به web Applicationها نفوذ میکنند. منظور از سرور، وب سرور (و نه سرور فیزیکی یا پلت فرم سرور) بوده که شاید این باعث اشتباه شما شده.

امیدوارم مشکل حل شده باشه :)

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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