آسیب پذیری Cross Origin Resource Sharing (CORS)


شرح آسیب پذیری:

Cross Origin Resource Sharing (CORS) مکانیزمی است که به مرورگر وب اجازه ارسال درخواست های cross-domain را با استفاده از XMLHttpRequest L2 API در یک روش کنترل شده می دهد. قبل از این از XMLHttpRequest L1 API استفاده می شد که تنها اجازه ارسال درخواست های داخل یک same origin را می داد و از ارسال سایر درخواست ها با استفاده از same origin policy جلوگیری می شد. درخواست های Cross-Origin شامل یک هدر با نام Origin هستند که دامنه شروع کننده درخواست را مشخص می کند. CORS یک پروتکل بین سرور و کلاینت تعریف می کند و مشخص می کند کدام یک از درخواست های cross-origin معتبر هستند. بدین منظور یکسری موارد در Header های Request/Response اضافه می شوند که برای مثال می توان به Origin, Access-Control-Request-Method, Access-Control-Request-Headers, Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers اشاره نمود.

درجه این آسیب پذیری از نوع Information می باشد. چرا که در صورت مدیریت نا صحیح، علاوه بر اینکه چه کسی دسترسی به Static File های برنامه دارد، اینکه این Static File ها نیز چطور استفاده می شوند نیز تحت الشعاع قرار می گیرد.

در صورتی که مقدار Access-Control-Allow-Credentials در هدر True بوده و Access-Control-Allow-Origin مقدار قرار گرفته در Origin در Request را برگرداند، درجه این آسیب پذیری High می باشد. چرا که same-origin policy به طور کل Bypass شده و هر وب سایتی می تواند درخواست هایی با Authenticate به سمت سرور ارسال نموده و با توجه به معتبر بودن نام تمامی دامنه ها در Origin، پاسخ را بخواند.

چگونه این آسیب پذیری را رفع کنیم ؟

تنها دامنه های مجاز در CORS policy قرار گیرند و از قرار دادن سایر دامنه ها در این Policy خودداری گردد. همچنین قرار دادن * در این Policy نیز مجاز نمی باشد.

میلاد خوشدل

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

نظر خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

شانزده − 4 =


تگ های html مجاز به استفاده می باشند: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ارسال یک پیام