
تقرير: لقد اختبرنا 5 شركات استضافة ويب مشهورة وتم اختراقها جميعًا بسهولة
مرحبا بك أنت هنا فـ ي موقع استضافة مغربية تشاهد مفالة
نُشر هذا التقرير لأول مرة فـ ي يناير 2019
كان الهدف مـن هذا البحث هو محاولة معرفة ما إذا كانت مواقع الويب مستضافة Bluehost أو Dreamhost أو HostGator أو OVHcloud أو iPage يمكن اختراقها بنقرة واحدة مـن نقاط الضعف مـن جانب العميل. لسوء الحظ ، وجدنا ثغرة أمـنية واحدة عــل ى الأقل مـن جانب العميل فـ ي جميع الأنظمة الأساسية التي اختبرناها ، مما يسمح بالاستيلاء عــل ى الحساب عندما ينقر الضحية عــل ى رابط أو يزور موقع ويب ضارًا.
جميع المـنصات التي اختبرناها هي مزودي خدمات استضافة مشهورين مع عدد كبير مـن المستخدمين. فـ ي موقع Website Planet ، هدفنا هو تزويد القراء بالمراجعات الأكثر صدقًا وإفادة ، والأمان عامل رئيسي. لهذا السبب نقوم بتعيين باحثين أمـنيين ذوي خبرة مـن الوقت مـن وقت لآخر لاختبار الخدمات التي نراجعها. إذا وجدنا ثغرات أمـنية ، فإننا نبلغ البائعين بها حتى يتمكنوا مـن إجراء التحسينات اللازمة.
تم إجراء هذا البحث بواسطة بولوس يبلو، وهو باحث أمـني متمرس اكتشف سابقًا مشكلات فـ ي العديد مـن الأجهزة والبرامج.
Bluehost – الاستيلاء عــل ى حسابات متعددة ونقاط ضعف فـ ي تسرب المعلومات
1. تسرب المعلومات مـن خلال التهيئة الخاطئة لـ CORS
خطورة: عالٍ
تأثير: هذه الثغرة الأمـنية تسمح للمهاجمين بالسرقة:
- معلومات التعريف الشخصية (PII) مثل الاسم والموقع (المدينة والشارع والولاية والبلد) ورقم الهاتف والرمز البريدي وما إلى ذلك.
- تفاصيل الدفع الجزئي بما فـ ي ذلك شهر انتهاء الصلاحية وسنة بطاقة الائتمان وآخر 4 أرقام مـن بطاقة الائتمان والاسم الموجود عــل ى بطاقة الائتمان ونوع بطاقة الائتمان وطريقة الدفع.
- الرموز التي يمكن أن تمـنح حق الوصول إلى مستخدم WordPress و Mojo و SiteLock والعديد مـن نقاط النهاية المدعومة بواسطة OAuth.
Bluehost يستخدم مشاركة الموارد عبر المـنشأ (CORS) لمشاركة الموارد عبر نطاقاتهم. CORS هي آلية لتخفـ يف سياسة المـنشأ نفسها لتمكين الاتصال بين مواقع الويب عبر المتصفحات. مـن المفهوم عــل ى نطاق واسع أن تكوينات معينة لـ CORS تعتبر خطيرة ، ولكن بعض الآثار تكون يساء فهمه بسهولة.
بعد رؤية نقطة نهاية API لـ Bluehost التي تسمح لـ CORS لنطاقات محددة ، بدأنا فـ ي محاولة تجاوز عوامل التصفـ ية لمعرفة مواقع الويب التي يجب السماح لها بالوصول إلى ماذا.
يمكن لمواقع الويب تمكين CORS عن طريق إرسال رؤوس استجابة HTTP التالية:
التحكم فـ ي الوصول والسماح بالأصل:
https://my.bluehost.com/
إذا ظهرت استجابة HTTP أعلاه عــل ى أي موقع ويب ، فإنها تخبر المتصفح بالسماح لـ https://my.bluehost.com بقراءة محتوياته.
فـ ي حالة Bluehost ، رأينا تعبيرًا عاديًا فضفاضًا يقبل قيمًا غامضة. عــل ى سبيل المثال ، إذا كان المتصفح الذي يرسل الطلب يأتي مـن https://my.bluehost.com.evil.com ، فإن Bluehost سيسمح بذلك مـن خلال الرد بـ:
التحكم فـ ي الوصول والسماح بالأصل:
https://my.bluehost.com.evil.com
كما ترى ، قام Bluehost بالتحقق مـن السلاسل الأولى فقط ولم يفكر فـ ي ما جاء بعد Bluehost.com. وهذا يعني أن المهاجمين الخبثاء يمكنهم استضافة مجال فرعي يسمى my.bluehost.com.EVILWEBSITE.com و Bluehost سيسمح لـ EVILWEBSITE.com بقراءة محتوياته.
مـن خلال التصفح عبر Bluehost ، تقوم نقطة نهاية API بإرجاع معلومات “مثيرة” للغاية – مـن معلومات التعريف الشخصية إلى نقاط النهاية التقنية التي يمكنها تسريب الرموز المميزة المختلفة للاستيلاء عــل ى حساب Bluehost مستضاف.
أولاً ، بالانتقال إلى نقطة نهاية / api / users – يمكن للمهاجم تسريب user_id. ثم يمكن للمهاجم استخدام معرف المستخدم هذا للاستعلام عن هذا المستخدم ومحتواه. يمكن للمهاجم أيضًا تسريب قيم مثل البريد الإلكتروني والاسم الأول والأخير ، موقع المستخدم ، وكذلك الرموز المميزة التي يمكن أن تتيح الوصول إلى WordPress و Mojo و SiteLock ونقاط النهاية المختلفة الخاصة بهم.
كما ترى أعلاه ، تتم استضافة طلب موقع الويب بالفعل عــل ى evilwebsite.com وليس Bluehost ، لكن استجابة API تسمح له بقراءة بياناته فـ ي استجابته.
2. الاستيلاء عــل ى الحساب بسبب خطأ JSON طلب التحقق مـن CSRF
خطورة: مرتفعة بشكل معتدل
تأثير: تسمح هذه الثغرة الأمـنية للمهاجمين بتغيير عنوان البريد الإلكتروني لأي مستخدم Bluehost إلى العنوان الذي يختارونه ، ثم إعادة تعيين كلمة المرور باستخدام بريدهم الإلكتروني الجديد للوصول الكامل إلى حساب الضحية عندما ينقر الضحية عــل ى رابط واحد أو يزور موقع ويب واحدًا.
يمكن استغلال هذه الثغرة الأمـنية بسبب بعض التكوينات الخاطئة فـ ي معالجة Bluehost للطلبات والتحقق مـن صحتها.
عندما يحاول المستخدمون تغيير بياناتهم الشخصية ، مثل الاسم أو رقم الهاتف أو العنوان أو البريد الإلكتروني ، يرسل Bluehost الطلب التالي:
إذا نظرت بعناية ، ستلاحظ عدم وجود رمز مميز فريد يتم إرساله مع هذا الطلب. وهذا يعني أن أي موقع ويب يمكنه بالفعل إرسال الطلب إلى نقطة النهاية المحددة عبر الأصل وتغيير التفاصيل الخاصة بك.
فـ ي العادة ، لن يكون هذا ممكنًا لأن الطلب فـ ي JSON ، وسيحتاج المرء إلى الاستفادة مـن Adobe Flash Player حتى يتمكن مـن إرسال مثل هذه الطلبات – لكننا نعلم جميعًا أن Flash قد توقف. ومع ذلك ، فـ ي حالة Bluehost ، هناك حيل خاصة وتكوينات خاطئة للخادم السماح لها بالعمل فـ ي أي متصفح دون استخدام Flash: