احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

XSS Injection چیست؟ آموزش حمله Cross Site Scripting در کالی

(Cross Site Scripting (XSS. آسیب پذیری های XSS، باعث پاک شدن ورودی کاربر در یک صفحه وب شده که در ادامه و در فرمت HTML بر روی خروجی یک صفحه وب خواهند شد. این نوع آسیب پذیری ها به هکر این اجازه را میدهد تا اسکریپت های Client Side، مانند جاوا اسکریپت را در صفحات وبی تزریق کند که توسط کاربران مختلف دیده میشود.
با توجه به گفته بالا میتوان گفت که اگرچه حملات XSS بطور مستقیم یک سیستم را مورد تهدید قرار نمیدهد اما با این حال اثرات قابل توجهی، مانند سرقت کوکی ها و دور زدن احراز هویت، تغییر مسیر مرورگر کاربر به یک صفحه HTML آلوده و .. را دارند. بطور مثال میخواهیم یک اپلیکیشن تحت وب آسیب پذیر را بر روی سیستم تست‌مان (ویندوز 7) در این مورد آزمایش کنیم. اپلیکیشنی که مد نظر است یک guestbook application است.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. Browser Redirection and IFRAME Injection

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

تست نفوذ با کالی::: آسیب پذیری (Cross Site Scripting (XSS چیست؟- بخش اول

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

تست نفوذ با کالی::: آسیب پذیری (Cross Site Scripting (XSS چیست؟- بخش اول

خوب بگذارید تا انواع تاثیراتی را که این کار بر روی قربانیان میتواند بگذارد، بررسی کنیم.

Browser Redirection and IFRAME Injection

آسیب پذیری های XSS (اگر خوش شانس باشید!) گاهی بواسطه حملات Client Side، بین کلاینت های مختلف دست به دست خواهند شد. نتیجه این کار این است که مرورگر قربانی بسمت مکانی که شما برایش انتخاب کرده اید، هدایت (redirect) خواهد شد. کار به همین جا ختم نمیشود؛ علاوه بر این میتوانید یک iframe پنهان را در مرورگر قربانی تزریق کرده تا از این طریق بتوانید یک حضور پنهانی را در سیستم قربانی تجربه کنید.

  • نکته: IFRAME که مختصر شده عبارت Inline Frame میباشد، یک عنصر است که ایت اجازه را میدهد تا یک پوشه HTML خود را درون پوشه HTML دیگر، جاساز یا پنهان کند.

هنگامی که قربانی ما صفحه خروجی آلوده شده را مشاهده میکند، مرورگرش با سیستم ما (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 و ...

نظرات