
إثبات مفهوم لاستغلال CVE-2022-1329، وهي ثغرة تنفيذ تعليمات برمجية عن بُعد في WordPress Elementor 3.6.0-3.6.2. يتضمن بيئة ضعيفة قائمة على Docker وحقن حمولة PHP قابلة للتخصيص.
يستند هذا الـ PoC إلى النسخة الخاصة بـ AkuCyberSec.
استخدم docker-compose لتشغيل البيئة المعرّضة للثغرة:
docker-compose up -d
ثم يمكنك الوصول إلى صفحة إدارة WordPress عبر الرابط http://localhost:8000.
أنشئ مستخدم المدير، وأضف مستخدمًا غير مدير في تبويب المستخدمين. على سبيل المثال، يوجد مستخدمان:
| Username | Password | Role |
|---|
| wc | 123456 | Admin |
| a2 | aaaaaa | Editor |
سجّل الدخول بحساب المدير، ثم ثبّت Elementor 3.6.1 باستخدام ملف الزيب المرفق.
إذا واجهت مشكلة حجم الرفع، أضف php.ini إلى /var/www/html/ كما يلي وأعد تشغيل خادم docker:
upload_max_filesize = 64M
max_execution_time = 0
post_max_size = 150M
file_uploads = on
عدّل سكربت الـ PoC بمعلومات مستخدم غير المدير الخاص بك، ثم شغّل سكربت الـ PoC للاستغلال:
python3 poc.py
ملاحظة: قد يفشل السكربت بسبب مشكلة الرفع، لكن ذلك لا بأس به؛ حاول تحديث صفحة الإدارة في المتصفح لمعرفة ما إذا كان الأمر يعمل.
يشغّل الـ PoC حاليًا phpinfo(); كحمولة له، ويمكنك بالطبع تعديل ذلك، لكنك تحتاج إلى إزالة إضافة elementor-pro يدويًا داخل حاوية docker من المسار /var/www/html/wp-content/plugin/elementor-pro:
# Unzip the zip file
unzip elementor-pro.zip
# Edit the main file to put your payload, it's in the begin of the file
nano elementor-pro/elementor-pro.php
# And zip
rm elementor-pro.zip; zip -ry elementor-pro.zip elementor-pro
# exploit again
python3 poc.py
