آیا در صورت انتقال شناسه جلسه در عنوان درخواست ، می توان حمله تثبیت جلسه با XSS موجود را انجام داد؟
تا آنجا که من آن را می بینم ، از نظر تئوری سه روش برای انجام این کار وجود دارد:
- درخواست رهگیری در ورود به سیستم ، شناسه جلسه جایگزین (هیچ روش ارتباطی با JS بدون نصب اضافی برای کارمندان سرویس مانند مشتری که هنوز نمی توانم کار کنم یا پسوند مرورگر پیدا کنم) پیدا نکردید.
- پاسخ رهگیری از سرور و شناسه جلسه جایگزینی را که توسط
- شناسه جلسه را از محل ذخیره محلی دریافت کنید (در حال حاضر مشخص نیست که کوکی جلسه در کجا ذخیره شده است).
تا آنجا که من می دانم ، رهگیری می شود. درخواست ها و پاسخ ها باید یک افزونه مرورگر مخرب روی مشتری نصب شود. مطمئناً ما نمی توانیم هدر سفارشی را از HTML تنظیم کنیم ، تنها گزینه باقی مانده – JS (من می دانم XHR می تواند این کار را انجام دهد ، اما این یک درخواست جداگانه است که گزینه ای برای رفع جلسه نیست). اما این که دقیقا چگونه و آیا اصلاً می توان آن را انجام داد ، هنوز برای من مشخص نیست. آیا راه های انجام این کار وجود دارد؟
از همه گزینه ها تنها گزینه واقعی حمله حمله به ذخیره سازی است. در این مقاله گفته می شود که:
همانطور که می بینیم ، نشانه جلسه در یک هدر HTTP X-AUTH-TOKEN سفارشی ارسال می شود. ارسال نشانه های جلسه در سرصفحات HTTP سفارشی ، از برنامه ها در برابر حملات درخواست جعلی (CSRF) در سطح سایت محافظت می کند. متأسفانه ، این واقعیت که کلوچه گلوبال ها ، برای نگه داشتن نشانه ، باید از جاوا اسکریپت در دسترس باشد ، تا با یک درخواست درج شود ، باعث می شود برنامه فوق العاده در معرض سرقت نشانه آسیب پذیر باشد.
یک روش استاندارد برای کار با جلسات ، بنابراین مسئولیت ذخیره و دریافت برنامه های محافظت شده در جلسه ، بر عهده مشتری JS است. بنابراین ، باید راهی برای بازنویسی فضای محلی با کوکی ها وجود داشته باشد.
آیا کسی می تواند در این مورد توصیهای ارائه دهد؟