(Cross Site Scripting (XSS. آسیب پذیری های XSS، باعث پاک شدن ورودی کاربر در یک صفحه وب شده که در ادامه و در فرمت HTML بر روی خروجی یک صفحه وب خواهند شد. این نوع آسیب پذیری ها به هکر این اجازه را میدهد تا اسکریپت های Client Side، مانند جاوا اسکریپت را در صفحات وبی تزریق کند که توسط کاربران مختلف دیده میشود.
با توجه به گفته بالا میتوان گفت که اگرچه حملات XSS بطور مستقیم یک سیستم را مورد تهدید قرار نمیدهد اما با این حال اثرات قابل توجهی، مانند سرقت کوکی ها و دور زدن احراز هویت، تغییر مسیر مرورگر کاربر به یک صفحه HTML آلوده و .. را دارند. بطور مثال میخواهیم یک اپلیکیشن تحت وب آسیب پذیر را بر روی سیستم تستمان (ویندوز 7) در این مورد آزمایش کنیم. اپلیکیشنی که مد نظر است یک guestbook application است.
به عبارت دیگر این اپلیکیشن برنامهای تحت وب برای ثبت نظرات، انتقادات، پیشنهادات و دیگر موضوعاتی است که یک کاربر در رابطه با بازدیدش از یک وبسایت، مکان فیزیکی و ... در ذهن خود ثبت کرده است و قصد دارد تا آن را با مسئولان و دیگر کاربران به اشتراک بگذارد. این اپلیکیشن که به کاربران این امکان را میدهد تا نام، نظر و دیگر مشخصات مرتبط را ثبت کنند و سپس آن را بدون هیچ فیلتری در خروجی مشاهده کنند، متعاقبا به ما نیز این امکان را خواهد داد تا کد جاوا اسکریپت خودمان را در صفحه خروجی نشان دهیم. مثال زیر یک اپلیشن تحت وب آسیب پذیر است که بطور لوکال در سیستم تست مورد استفاده قرار میدهیم و قصد داریم تا کد جاوا اسکریپت را در فرم تزریق کنیم.
در نتیجه وقتی که یک کاربر بی اطلاع این صفحه را مشاهده کند، کد جاوا اسکریپت در مرورگرش اجرا خواهد شد.
خوب بگذارید تا انواع تاثیراتی را که این کار بر روی قربانیان میتواند بگذارد، بررسی کنیم.
آسیب پذیری های XSS (اگر خوش شانس باشید!) گاهی بواسطه حملات Client Side، بین کلاینت های مختلف دست به دست خواهند شد. نتیجه این کار این است که مرورگر قربانی بسمت مکانی که شما برایش انتخاب کرده اید، هدایت (redirect) خواهد شد. کار به همین جا ختم نمیشود؛ علاوه بر این میتوانید یک iframe پنهان را در مرورگر قربانی تزریق کرده تا از این طریق بتوانید یک حضور پنهانی را در سیستم قربانی تجربه کنید.
هنگامی که قربانی ما صفحه خروجی آلوده شده را مشاهده میکند، مرورگرش با سیستم ما (attacking system) ارتباط برقرار میکند. در این مثال ما بر روی سیستم مهاجم و روی پورت 80 از طریق netcat کار شنود (listening) را انجام خواهیم داد:
root@kali:~# nc –nlvp 80 Linstening on [any] 80 … Connect to [192.168.10.5] from (unknown) [192.168.11.35] 49275 GET /report HTML /1.1 Accept: image/jpeg, application/x-ms-application, image/gif, Application/xaml+xml, image /pjpeg, application/x-ms-xbap, */* Referer: http://127.0.0.1/index.php Accespt-Language: en-US User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.050727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) Accespt-Encoding: gzip, deflate Host: 192.168.10.5 Connection: Keep-Alive
همانطور که در بالا نشان داده شد، Browser redirection ممکن است در مرورگر قربانی را بسمت یک حمله Client Side و یا یک اسکریپت جمع کننده اطلاعات ( information Gathering) هدایت کند.
پایان بخش اول
سربلند و مانا باشید.
نویسنده: احسان امجدی
منبع: انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
کارشناس امنیت اطلاعات و ارتباطات
احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود