اخبار داخلی آرمان داده پویان

مقالات

سرآیند امنیتی X-XSS

سرآیند X-XSS

حملات XSS

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

حمله XSS به طور کلی به سه دسته تقسیم میگردد:

  • حمله XSS از نوع دائمی

زمانی است که یک کد مخرب بر روی وب‌سرور توسط مهاجم بارگذاری میگردد. این ذخیرهسازی در قسمتهای مختلف وب انجام می‌پذیرد. حال کاربر وقتی درخواستی را ارسال میکند که با قسمت آلوده سر و کار دارد کد مخرب در پاسخ برای کاربر ارسال شده و در ناوشگر کاربر اجرا خواهد شد. به این نوع از XSS نوع I  و یا دائمی گفته میشود.

  • حمله XSS از نوع بازتابی

زمانی رخ میدهد که مهاجم یک کد قابل اجرا در ناوشگر را در یک پاسخ HTTP تزریق مینماید. این تزریق به صورت دائمی و در داخل برنامهی کاربردی وب-بنیان نمیباشد بلکه در این روش تنها کاربری که یک لینک آلوده و یا یک صفحه وب آلوده را باز مینماید مورد تهاجم قرار میگیرد.

  • حمله XSS از نوع DOM based

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

سرآیند X-XSS

سرآیند X-XSS در واقع یکی از سرآیندهای پاسخ HTTP میباشد. این سرآیند به عنوان یک ویژگی در ناوشگرهای IE، Chrom و Safari وجود دارد و به واسطهی آن تشخیص حملهی cross-site scripting (XSS) بهینه میگردد. البته در ناوشگرهای جدید استفاده از این سرآیند چندان لزومی ندارد دلیل آن هم استفاده از سیاستهای امنیتی قوی در سایتها میباشد. این سیاستها استفاده از جاوااسکریپتهای خطی را غیرممکن مینمایند. در نتیجه این سرآیندها بیشتر برای برقراری امنیت در ناوشگرهای قدیمی مورد استفاده قرار میگیرند. اگر مثال بالا را در نظر بگیرید، دیدید که در کد آسیبپذیری وجود داشت و مهاجم میتوانست از آن استفاده نماید. در ناوشگر chrom ویژگی XSS Auditor جلوی اجرای اسکریپت را همانطور که گفتیم خواهد گرفت. اما میتوان با فعال کردن سرآیند X-XSS و یا سرآیندهای امنیتی-سیاستی این محافظت را قویتر نمود.

حال مدلهایی که میتوان XSS filtering را فعال یا غیر فعال نمود را بررسی خواهیم کرد.

۰

یعنی XSS filtering را غیر فعال میکنیم.

۱

یعنی فعال کرن XSS filtering در ناوشگر. که البته به صورت پیشفرض فعال می‌باشد. در نتیجه اگر حملهی  cross-site scripting تشخیص داده شود، ناوشگر صفحهی مربوطه را با پاک کردن بخشهای آلوده پاکسازی مینماید.

۱; mode=block

در این حالت XSS filtering فعال میشود و ناوشگر زمانی که حمله را تشخیص میدهد به جای پاکسازی از تحویل گرفتن صفحه (render) خودداری مینماید.

۱; report=  (Chromium only)

فعال کردن XSS filtering. در این حالت اگر یک حمله cross-site scripting تشخیص داده شود، ناوشگر صفحه را پاکسازی نموده و حمله را گزارش مینماید. در این حالت از یکی از راهنماهای CSP به نام report-uri برای گزارش دادن استفاده می‌شود.

 

آرمان داده پویان در زمینه‌ سنجش آسیب‌پذیری (تست نفوذ) و ارزیابی امنیتی خدمات ارزشمندی را به سازمان شما ارائه خواهد داد.

تعداد بازدید: 832


تازه ترین ها