يوسُف | Yousuf
يوسُف | Yousuf

@aigeo_

7 Tweets 40 reads Nov 27, 2021
* مطلوب مصمم مقدمات رهيبة لان الوضع صعب والله
Cross-Origin Resource Sharing (CORS) Attacks ⤵
أولا: ما هو Cross-Origin Resource Sharing (CORS) ؟
هي آلية موجودة في HTTP header تسمح بمشاركة الأصول أيا كانت (صور, ملفات, بيانات معينة ...الخ) بين المواقع في حال تم السماح للوصول لها من المالك, وهي تعتبر آلية طورتها المتصفحات كآلية دفاعية ضد الهجمات.
كمطور ويب بدأت تتعلم كيف يمشي الAPI واذا بك تحاول ترسل request عن طريق XMLHttpRequest وتتفاجأ بكذا error على شاكلة الاخوان تحت ! وهذي سببها ان المطور عامل Access-Control-Allow-Origin لأشخاص معينين وانت مش منهم واحنا راح نلعب على نقطة كيف حدد الأشخاص المعينين !
* راح اذكر 3 تكنيكات مستخدمة فقط
1) Origin Reflection
بما ان CORS ما تسمح لك بوضع whitelist بكل المواقع المسموح لها بالحصول على الأصول فا المطورين يستخدموا wildcard مثل * وهذي تسمح لأي حد بالوصول للأصول !
وبهذا المثال ومن خلال الexploit صار عندنا private key !!
2) Null Origin
بعض المواقع تسمح لك بادخال قيمة null على header في حالات معينة منها اذا ارسلت request مستخدم file: protocol وعدة حالات أخرى...
فا تروح انت وتجرب تحط قيمة null للOrigin وتشوف هل بيعطيك الcredentials ؟ وبما اني اشرح فا اكيد ما راح يفشلنا وبيسلمنا الcredentials برضاه
3) bad Regular expression
مثلا المطور عمل Regex يتحقق من اذا كان الاسم ينتهي ب secure-bank.com (بحيث ان كل subdomain تابع للموقع مسموح له بالوصول) لكن لو حطينا not-secure-bank.com ؟😏
ختاما, CORS توفر قدر معقول من الحماية اذا ابتعد عن استخدام الwildcards واعطاء قيمة null لsandboxed requests وكانت معاييره واضحة في من يقب ومن يرفض.
وهنا كم tricks حلوين: book.hacktricks.xyz
وهذا lab عشان يكون الموضوع عملي: github.com
والسلام على من اتبع الهدى

Loading suggestions...