سؤال

لماذا تقوم المتصفحات بتطبيق سياسة الأصل نفسها على xmlhttprecest؟ إنه أمر غير مريح حقا للمطورين، لكن يبدو أنه يفعل القليل في إيقاف المتسللين فعليا. هناك حلول، لا يزال بإمكانها تشمل جافا سكريبت من مصادر خارجية (القدرة وراء JSONP).

يبدو وكأنه "ميزة" قديمة "في شبكة ويب مرتبطة إلى حد كبير.

هل كانت مفيدة؟

المحلول

لأن XMLHTPREQUEST يمر رموز مصادقة المستخدم. إذا تم تسجيل المستخدم على exchember.com باستخدام مصادقة أساسية أو بعض ملفات تعريف الارتباط، فقم بزيارة Tomanker.com، يمكن للموقع الأخير إنشاء XMLHTPRECEEST على سبيل المثال مع إذن كامل لهذا المستخدم وقراءة أي صفحة خاصة يمكن للمستخدم (ثم إعادة توجيهها إلى المهاجم).

نظرا لأن وضع الرموز السرية في صفحات WebApp هي الطريقة لإيقاف هجمات التزوير في الموقع البسيط، فإن هذا يعني أن المهاجمة يمكن أن يأخذ أي إجراءات على صفحة يمكن للمستخدم على example.com دون أي موافقة أو تفاعل منها. Global XMLHTTPRECEEST هو البرمجة العالمية عبر الموقع.

(حتى لو كان لديك إصدار من XMLHTPREQUEST الذي لم يمر المصادقة، لا تزال هناك مشاكل. على سبيل المثال، يمكن للمهاجم تقديم طلبات إلى الأجهزة غير العامة الأخرى على الإنترانت الخاصة بك وقراءة أي ملفات يمكن تنزيلها منها والتي قد لا تنزيل منها يكون المقصود للاستهلاك العام. <script> تعاني العلامات بالفعل من شكل محدود من هذا النوع من الضعف، ولكن الاستجابات القابلة للقراءة بالكامل من XMLHTTPRECEST ستسرب جميع أنواع الملفات بدلا من عدد قليل من الأشياء المصممة للأسف التي يمكن أن تحليلها مثل JavaScript.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top