XSS چیست؟

xss index
توسط

Cross-site scripting (همچنین به عنوان XSS شناخته می شود) یک آسیب پذیری امنیتی وب است که به مهاجم اجازه می دهد تا تعاملات کاربران با یک برنامه آسیب پذیر را به خطر بیندازد. این به مهاجم اجازه می دهد تا سیاست مبدا یکسانی را که برای جداسازی وب سایت های مختلف از یکدیگر طراحی شده است، دور بزند. آسیب‌پذیری‌های اسکریپت بین سایتی معمولاً به مهاجم این امکان را می‌دهند که خود را به عنوان یک کاربر قربانی درآورد، هر اقدامی را که کاربر قادر به انجام آن است انجام دهد و به هر یک از داده‌های کاربر دسترسی پیدا کند. اگر کاربر قربانی دسترسی ممتازی به برنامه داشته باشد، ممکن است مهاجم بتواند کنترل کاملی بر تمام عملکردها و داده های برنامه داشته باشد.

XSS چگونه کار می کند؟

برنامه نویسی بین سایتی با دستکاری یک وب سایت آسیب پذیر عمل می کند تا جاوا اسکریپت مخرب را به کاربران برگرداند. هنگامی که کد مخرب در داخل مرورگر قربانی اجرا می شود، مهاجم می تواند به طور کامل تعامل آنها با برنامه را به خطر بیندازد.

اثبات مفهوم XSS

شما می توانید انواع آسیب پذیری های XSS را با تزریق یک باری که باعث می شود مرورگر شما جاوا اسکریپت دلخواه را اجرا کند، تأیید کنید. استفاده از تابع ()alert برای این منظور از دیرباز معمول بوده است، زیرا کوتاه، بی ضرر است و هنگام فراخوانی موفقیت آمیز به سختی نمی توان آن را از دست داد. در واقع، شما اکثر آزمایشگاه های XSS ما را با فراخوانی alert() در مرورگر قربانی شبیه سازی شده حل می کنید.

متأسفانه، اگر از Chrome استفاده می کنید، مشکلی جزئی وجود دارد. از نسخه ۹۲ به بعد (۲۰ ژوئیه ۲۰۲۱)، iframe های متقاطع از فراخوانی alert() جلوگیری می کنند. از آنجایی که از اینها برای ساختن برخی از حملات پیشرفته‌تر XSS استفاده می‌شود، گاهی اوقات باید از یک بار دیگر PoC استفاده کنید. در این سناریو، تابع print() را توصیه می کنیم. اگر علاقه مند به کسب اطلاعات بیشتر در مورد این تغییر هستید و اینکه چرا ما print() را دوست داریم، پست وبلاگ ما را در مورد این موضوع بررسی کنید.

از آنجایی که قربانی شبیه‌سازی‌شده در آزمایشگاه‌های ما از Chrome استفاده می‌کند، ما آزمایشگاه‌های آسیب‌دیده را اصلاح کرده‌ایم تا بتوان با استفاده از print() آن‌ها را نیز حل کرد. ما این را در دستورالعمل‌ها در هر جا که مربوط باشد نشان داده‌ایم.

موارد کاربرد

مهاجمی که از یک آسیب‌پذیری اسکریپت بین سایتی سوء استفاده می‌کند معمولاً می‌تواند:

جعل هویت یا خودنمایی به عنوان کاربر قربانی.
هر اقدامی را که کاربر قادر به انجام آن است انجام دهید.
هر داده ای که کاربر می تواند به آن دسترسی داشته باشد را بخوانید.
اطلاعات ورود کاربر را ضبط کنید.
تخریب مجازی وب سایت را انجام دهید.
قابلیت های تروجان را به وب سایت تزریق کنید.


پست های توصیه شده