Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-63030 — WordPress 未授权RCE EXP | CVE-2026-63030 | Kitploit
工具/GitHubGitHub/mhtsec/cve-2026-63030
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试Payload 开发
GitHubmhtsec/cve-2026-63030

CVE-2026-63030

WordPress 未授权RCE EXP | CVE-2026-63030

查看仓库
95101个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-63030

WordPress REST API batch 路由混淆 + SQL 注入 导致 未授权创建管理员 → 远程代码执行 的完整利用链 PoC。

仅供授权安全测试、漏洞复现与研究使用。禁止用于未授权目标。

漏洞概述

项目说明
CVECVE-2026-63030
组件WordPress Core REST API (/batch/v1)
影响版本WordPress 6.9.0 – 6.9.4、7.0.0 – 7.0.1(以官方公告为准)
攻击前提目标开启 REST API batch;站点至少有一篇已发布的文章或页面
权限要求无需登录(Pre-Auth)
危害创建管理员账号,并可进一步上传插件实现 RCE

攻击链路

root@kitploit:~
REST batch 路由混淆
    → author__not_in SQL 注入
    → UNION 伪造 WP_Post / oEmbed cache / Customizer changeset
    → Customizer 发布时切换为已有管理员上下文
    → REST /wp/v2/users 创建新管理员
    → 后台上传一次性插件
    → 执行系统命令

核心不是“堆叠写库”,而是:

  1. serve_batch_request_v1() 校验阶段与调度阶段对 $matches / $validation 索引不同步,造成 route confusion。
  2. 错位后,字符串形式的 author_exclude 进入 WP_Query 的 author__not_in,拼进 NOT IN (...),形成 SQL 注入。
  3. 通过 UNION SELECT 伪造完整 wp_posts 行,触发 oEmbed / Customizer 逻辑,把当前用户上下文切换为已有管理员。
  4. 以管理员身份调用 REST 用户创建接口,写入新管理员。
  5. 登录后台上传插件,实现命令执行。

环境要求

  • Python 3.10+(仅标准库,无第三方依赖)
  • 目标为你有权测试的 WordPress 实例
  • 目标 PHP 至少保留一种可执行函数(proc_open / passthru / system / shell_exec / exec / popen 之一)
  • 若 disable_functions 禁用了全部命令执行函数,仍可成功创建管理员,但 RCE 阶段会失败

文件说明

root@kitploit:~
CVE-2026-63030/
├── exp.py        # 完整利用脚本(单文件,零依赖)
└── README.md     # 本说明

使用方法

最简用法(自动生成管理员,默认执行 id)

root@kitploit:~
python3 exp.py --url http://192.168.1.10:8080/

自定义全部参数

root@kitploit:~
python3 exp.py --url http://192.168.199.134:9005/ --username mht --password 'mht666' --email [email protected] --command 'id' --timeout 60

参数说明

预期输出示例

root@kitploit:~
[*] Creating administrator via SQLi -> customizer bridge...
[+] Generated administrator: labadmin
[*] Password: S3cure!pass
[*] Email: [email protected]
[*] Logging in as generated administrator...
[+] Authenticated.
[*] Uploading one-shot command plugin...
[*] Plugin path: http://192.168.1.10:8080/wp-content/plugins/lab_wp2_cmd_xxxxxxxx/lab_wp2_cmd_xxxxxxxx.php
[*] Executing command: id
[+] command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
[via: proc_open]
[*] Deleting generated administrator...
[+] Generated administrator removed.
[*] Cleaning up temporary plugin...
[+] Temporary plugin removed.

脚本会在结束后尝试:

  1. 删除本次创建的管理员
  2. 删除临时插件目录

若中途失败,请根据输出中的账号密码手动清理。

注意事项

  1. 仅授权环境:请勿对未授权系统使用。
  2. 目标限制:脚本默认拒绝公网 IP 字面量目标,仅允许私网 / 回环 / 链路本地地址,或域名形式目标。
  3. PHP 加固:若出现 has been disabled for security reasons,说明 disable_functions 禁用了对应函数。PoC 会依次尝试多种执行方式;若全部被禁,RCE 不可用,但管理员创建阶段仍可能成功。
  4. 站点内容:需要至少一篇已发布文章或页面,用于种子 oEmbed cache。
  5. 幂等与清理:每次运行会创建新管理员与临时插件,成功路径会自动清理;失败时请人工检查 wp-admin/users.php 与 wp-content/plugins/。

修复建议

  • 升级到官方已修复版本(以 WordPress 安全公告为准)
  • 在补丁不可用时,可临时限制对 /batch/v1 的未授权访问
  • 生产环境保持 disable_functions 与最小权限 Web 用户配置,降低 RCE 落地影响

Disclaimer

本仓库中的代码仅用于安全研究与授权漏洞复现。使用者需自行确保遵守当地法律法规及目标系统授权范围。作者不对任何滥用行为承担责任。

下载工具
参数必填默认值说明
--url是无目标 WordPress 根 URL
--username否wp2_<hex>要创建的管理员用户名
--password否Wp2!<random>要创建的管理员密码
--email否<username>@wp2shell.invalid要创建的管理员邮箱
--command / -c否id通过一次性插件执行的命令
--timeout否60单次 HTTP 超时(秒)