پالیسی sop و آژاکس

منتشر شده در دسته : بلاگ, تست نفوذ وب

پالیسی sop و آژاکس چگونه با یکدیگر تعامل دارند؟ در مطلب قبلی به شرح پالیسی sop پرداختیم. در این مطلب به تعامل این پالیسی با تکنولوژی آژاکس می پردازیم. امروزه تقریبا همه اپلیکیشن های تعاملی از تکنولوژی آژاکس استفاده می کنند. آژاکس تکنیکی قدرتمند است که به مرورگر اجازه داده تا به صورت مخفیانه از دید کاربر و در پشت پرده داده ها را با سرور تبادل کند و این کار موجب شده تا از بارگذاری مجدد صفحه وب در هربار نیاز به دریافت اطلاعات از سرور جلوگیری به عمل آید. یک نمونه رایج از استفاده از آژاکس در سرویس های آنلاین چت همچون فیسبوک و گوگل هنگ اوت می باشد.

پالیسی sop و آژاکس

آژاکس از طریق متد ()XMLHTTPRequest جاوا اسکریپت کار می کند. این متد به یک آدرس URL اجازه داده تا بدون رفرش و بارگذاری مجدد صفحه وب داده های جدید را از سرور دریافت گردد. این متد به درستی کار می کند تا زمانیکه پالیسی SOP نقض شود. این همان جایی است که پالیسی sop و آژاکس با یکدیگر به مشکل می خورند.

دریافت و ارسال داده ها به یک سرور یا آدرس URL متفاوت در مبدا دیگر (Origin) کاملا متفاوت است. در مثال زیر ما صفحه سایت نت آموز را با استفاده از متد ()XMLHTTPRequst در قالب یک درخواست درون اسکریپت درج شده درون صفحه HTML ساختگی برای تست ارسال می کنیم. فایل تمرینی را می توانید از اینجا دانلود کنید

پالیسی sop و آژاکس - پالیسی sop - پالیسی همان مبدا - پالیسی same origin

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

سناریویی را در نظر بگیرید که یک صفحه وب در حال اجرا در مبدا A درخواست HTTP به مبدا B ارسال کرده تا هویت کاربر دیگری را جعل کند و صفحه وب را بارگذاری کند. به این شیوه در صورت عدم پیاده سازی صحیح پالیسی SOP می توان توکن های CSRF را بارگذاری کرد و سپس از آنها در حملات CSRF استفاده کرد.

نتیجه گیری اینکه وجود پالیسی SOP موجب شده تا فراخوانی اسناد از مبدا متفاوت (Origin) از طریق توابع آژاکس به یک مشکل تبدیل شود. برای حل این مشکل مکانیزم CORS ایجاد شده که در مطالب بعدی به شرح موضوع خواهیم پرداخت.

صاحب امتیاز نت آموز : نویسنده , مدرس و متخصص در زمینه امنیت شبکه های رایانه ای

نظرات غیرمرتبط با موضوع این مطلب تایید نخواهند شد. این سوالات را می توانید از بخش پشتیبانی آموزشی مطرح کنید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *