
Proof-of-concept exploit for CVE-2022-1329, a remote code execution vulnerability in WordPress Elementor 3.6.0-3.6.2. Includes Docker-based vulnerable environment and customizable PHP payload injection.
该POC主要是基于AkuCyberSec)的研究版本,并进行了一些补充。
使用docker-compose开启漏洞环境:
docker-compose up -d
然后可以在浏览器访问WordPress的管理页面http://localhost:8000/wp-admin,创建admin用户,然后在User标签下创建一个其他用户,举个例子如下:
| 用户名 | 密码 | 角色 |
|---|
| wc | 123456 | Admin |
| a2 | aaaaaa | Editor |
使用admin帐号登录,在插件标签下安装3.6.1版本的Elementor,zip包已在仓库中提供。
重要 :需要修改WP的默认上传限制,在网站根目录下写入php.ini文件:
upload_max_filesize = 64M
max_execution_time = 0
post_max_size = 150M
file_uploads = on
docker restart xxxx重启服务后,可以使用POC脚本进行漏洞验证,注意修改脚本中的用户名密码为非admin用户的信息:
python3 poc.py
**注意:**脚本的运行结果可能返回upload problem,但其实脚本运行是成功的,可以刷新浏览器,看到恶意代码的执行结果。
目前植入的恶意脚本只有phpinfo();一句话,可以使用以下步骤进行编辑,不过在重新运行漏洞脚本之前,需要到docker容器里面手动删除已安装的elementor-pro插件,路径应该是/var/www/html/wp-content/plugin/elementor-pro。
# 解开压缩包
unzip elementor-pro.zip
# 修改植入代码,目前放在了文件的最上边
nano elementor-pro/elementor-pro.php
# 重新打包
rm elementor-pro.zip; zip -ry elementor-pro.zip elementor-pro
# 运行漏洞验证
python3 poc.py
