[CORS] MISCONFIGURED CROSS-ORIGIN RESOURCE SHARING

السلام عليكم ورحمة الله وبركاتة،
بعد غياب طويل نعود لكم بمواضيع جديده وبأذن الله مفيدة
شرحنا اليوم راح نتكلم عن ثغرات
The same origin policy [SOP]
تعريف للThe same origin policy هي الية تستخدم في client side browser لنقل المحتويات المخزنه مثل [cookie,token] باستخدام javascript , ajax الى موقع اخر او سب دومين third party معين عن طريق API [XHR] ومنع من الخروج خارج ايطار السكربت او الموقع المحدد المراد المشاركة فيه المحتويات Cross-Origin Resource Sharing. محور الاتصال والتواصل بين السكربت والسيرفر يكون عن طريق الهيدر واغلب الهيدر المستخدم في الاتصال والتواصل بين السيرفر والسكربت هو:


Access-Control-Allow-Origin =  يقوم بتحديد الدومين المراد انتقال المحتوى اليه 

Access-Control-Allow-Credentials = يقوم بتصريح المتصفح بحيث يقبل ارسال الكوكيز و التوكن بحيث تكون القيمه true في حال نعم وا قيمة false في حالة الرفض

Access-Control-Allow-Methods  = يقوم بتحديد http method المراد ارسال المعلومات بها مثل get,post,options,put,delete,etc

. ولكن في بعض الاحيان يكون هناك خطا في اعدادت Origin policy  بحيث يستطيع المخترق بنقل معلومات حساسة من موقع الضحية الى موقعه باستخدام API/XHR وايضا يستطيع المخترق باستغلال ثغرة cross site scripting [XSS] بعمل موقع يحتوى على اكواد جافا سكربت لسرقة معلومات المستخدمين لموقع الضحية لناخذ بعض الامثله The same origin policy واين يكمن الخطاء فيها لناخذ مثال مع الاستغلال.

* = Wildcard  تعني بالسماح للكل
Access-Control-Allow-Origin كما ذكرنا فوق، في هاذي الحالة يستطيع المخترق بكتابه كود بسيط ajax يتصل على الموقع ويطلب المعلومات السريه واستعراضها الى موقعه



نقوم بكتابة كود بسيط ajax .يقوم بطلب الريكوست وعرض المحتوى على موقعنا




من ثم رفعه على المساحة او موقع المخترق في حالتي قمت بفتح simple http server عن طريق البايثون



والنتيجه تم استعراض المحتويات بنجاح




في نهاية الدرس تكمن الثغرة من المطور او المبرمج بحيث يكون لديه خطا في الاعدادت تسمح للمخترق بنقل المعلومات التي لديه ع api/ajax javascript الى موقع المخترق. اتمنى يكون الشرح مفهوم. دمتم بعافية .

تعليقات

المشاركات الشائعة من هذه المدونة

Html code injection-[Post-Get-StoredData!]-

CRLF injection [\r\n Carriage Return]