murrez/CVE-2026-6433
GitHub: murrez/CVE-2026-6433
针对CVE-2026-6433的PoC利用工具,验证WordPress FlipperCode插件中未授权SQL注入到远程代码执行的完整攻击链。
Stars: 0 | Forks: 0
# CVE-2026-6433 — 概念验证
**FlipperCode — Custom CSS, JS & PHP** · 未经身份验证的 **SQL 注入** → **RCE**(通过 `eval()`)
[](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-6433)
[](https://www.python.org/)
[](https://wordpress.org/plugins/)
[](https://github.com/murrez)
受影响版本:**FlipperCode Custom CSS, JS & PHP ≤ 2.0.7** · 通过 `admin-ajax.php` 触发的 WordPress 插件攻击面
## 概览
| 项目 | 详情 |
|------|--------|
| **攻击向量** | 通过插件 AJAX 操作隧道传输的未经身份验证的 SQLi |
| **影响** | WordPress 主机上的远程代码执行(将 payload 写入 docroot,随后在 PHP 上下文中执行) |
| **脚本** | [`CVE-2026-6433.py`](CVE-2026-6433.py) — 仅使用标准库(`urllib`、`ssl`、`threading`、`concurrent.futures`) |
| **模式** | 单个 URL **或** 包含**多线程** worker 的**批量**文件 |
| **发现者** | Dr. John Umoru,**ClarenSec Limited** |
| **批量 / 线程功能** | [github.com/murrez](https://github.com/murrez) |
```
flowchart TB
subgraph prep[" Preconditions "]
A["Target runs vulnerable plugin"]
B["admin-ajax reachable"]
end
subgraph chain[" Exploit chain "]
C["POST fc_ajax_call / wce_editor_inline_code"]
D["SQLi injects PHP payload"]
E["Proof file written under DOCUMENT_ROOT"]
F["Optional: fetch proof / run command output"]
G["Default: remote unlink cleanup"]
end
A --> C
B --> C
C --> D --> E --> F --> G
```
## 为什么这个 README 看起来很“多彩”
在 GitHub 上,**徽章**、**表格**和**图表**会以强烈的视觉对比度呈现。本文档的结构设计使您可以快速**略读**(查看徽章和表格)或**深入阅读**(阅读下方章节)。
## 环境要求
- **Python 3.x**(无需 `pip install` — 仅使用标准库)
- 能够网络访问待测试的 WordPress 站点
- 拥有测试目标的**合法授权**(参见免责声明)
## 快速开始
克隆或下载此文件夹,然后运行:
```
# 帮助 / 所有 flags
python CVE-2026-6433.py --help
```
### 单一目标
```
# 仅 PHP 验证(写入一个小型验证文件;适用于锁定权限的 shell)
python CVE-2026-6433.py https://target.example --php-only --no-cleanup
# 运行 OS 命令并打印捕获的输出(如果远程存在执行函数)
python CVE-2026-6433.py https://target.example --command "id"
# 仅尝试删除验证文件(清理模式)
python CVE-2026-6433.py https://target.example --cleanup-only
```
### 批量扫描(多线程)
使用一个包含**每行一个基础 URL** 的文本文件。以 `#` 开头的行和空行将被忽略。
```
python CVE-2026-6433.py --bulk targets.txt --threads 8
```
`targets.txt` 示例:
```
# Lab 主机 — 仅替换为授权系统
https://site-a.example
https://site-b.example
```
**注意:**
- **不要**在指定位置参数 URL 的**同时**使用 `--bulk`。
- Worker 数量上限为目标数量(`min(threads, len(targets))`)。
- 如果任何批量目标失败,退出代码为 **`1`**。
## 命令行参考
| 标志 | 含义 |
|------|---------|
| `target` | 单个 WordPress **基础 URL**(使用 `--bulk` 时省略此项) |
| `--command CMD` | 远程运行 shell 命令(在可用时使用 `shell_exec`、`exec`、`system`、`passthru` 或 `popen`) |
| `--php-only` | 写入 PHP 元数据证明,而不是依赖 `--command` |
| `--no-cleanup` | 成功运行后**不**删除远程证明文件 |
| `--proof-name NAME` | 远程文件名(默认:`rce-proof.txt`) |
| `--cleanup-only` | 仅发送 unlink payload 并报告文件是否已删除 |
| `--bulk FILE` | 从 `FILE` 读取多个目标 |
| `--threads N` | 用于 `--bulk` 的并发 worker 数量(默认:**5**) |
## 成功 / 失败的输出样式
### 单一目标
- 失败时,您将看到 `FAIL: …`,并且进程以代码 **`1`** 退出。
- 成功时,根据使用的标志,您将看到**证明 URL**、**命令输出**或**清理**状态。
### 批量模式
- 前缀为 `[Bulk scan]` 的行会汇总进度。
- 每个主机会打印 **`[OK]`** 或 **`[FAIL]`** 及其原因。
## 操作与安全注意事项
- 该脚本为了方便在实验环境中使用而**禁用了 TLS 证书验证**。**切勿**将其视为可用于生产环境的安全模式。
- 默认行为会在利用后尝试**删除**证明文件 — 当您必须在**经授权的**测试中保留证据时,请使用 `--no-cleanup`。
- 如果插件处于非活动状态、被 WAF 阻止,或者主机强化了 PHP 执行,相关步骤可能会失败,并在 stdout/stderr 中显示清晰的错误消息。
## 鸣谢
| 角色 | 贡献者 |
|------|--------|
| **最初发现者** | Dr. John Umoru — **ClarenSec Limited** |
| **批量 / 多线程工具** | [github.com/murrez](https://github.com/murrez) |
最后的 README 结构针对**可读性**进行了优化:徽章 · 表格 · 流程图 · 明确的标志。
标签:CISA项目, CVE-2026-6433, eval(), FlipperCode, Maven, PNNL实验室, PoC, Python3, RCE, Webshell, Web安全, WordPress插件漏洞, WordPress漏洞, XXE攻击, 多线程, 安全检测工具, 文件完整性监控, 暴力破解, 未授权访问, 漏洞利用链, 漏洞验证, 编程工具, 网络信息收集, 网络安全, 自定义CSS/JS/PHP, 蓝队分析, 远程代码执行, 隐私保护