尽快检查修复!无需账号、默认配置,一个请求直接getshell——WordPress史上最严重的Core漏洞!

admin 2026-08-23 04:53:59 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: WordPress核心漏洞wp2shell(CVE-2026-63030和CVE-2026-60137)允许匿名攻击者在默认配置下通过单个HTTP请求实现远程代码执行。攻击链利用RESTAPI路由混淆和SQL注入提取管理员密码哈希,进而获取服务器控制权。影响WordPress6.9.0至7.0.1版本,PoC已公开。最优先的修复措施是立即升级至6.9.5或7.0.2及以上版本,临时缓解措施包括WAF拦截和禁用RESTAPI。 综合评分: 90 文章分类: 漏洞分析,应急响应,安全意识


cover_image

尽快检查修复!无需账号、默认配置,一个请求直接 getshell——WordPress 史上最严重的 Core 漏洞!

原创

CabinQ CabinQ

逆熵寻生

2026年7月21日 09:01 浙江

在小说阅读器读本章

去阅读

WordPress 史上最严重的 Core 漏洞:无需账号、默认配置,一个请求直接 getshell

2026年7月17日,WordPress 社区炸了锅。

安全团队 Searchlight Cyber(原 Assetnote)披露了一个 Core 级别的远程代码执行漏洞,代号 wp2shell,对应两个 CVE 编号:CVE-2026-63030 和 CVE-2026-60137

这个漏洞有多严重?一句话总结:

不需要账号、不需要插件、不需要用户交互,默认安装的 WordPress 就能被打穿,直接 getshell。

要知道,WordPress 驱动着全球约 43% 的网站。这次出问题的是 WordPress 本体,不是某个第三方插件——这意味着,只要版本在影响范围内,你就已经暴露在攻击面下了。

发生了什么?

wp2shell 其实是两个漏洞的组合拳:

第一拳:CVE-2026-63030 —— REST API 路由混淆

WordPress 的 REST API 有一个 /batch/v1 端点,允许把多个子请求打包在一次 HTTP 调用中执行。每个子请求本应独立验证、独立分配处理器。

但 servebatchrequestv1() 函数有个致命的 bug:它维护了两个并行数组——$matches(匹配的处理器)和 $validation(验证结果)。当某个子请求的路径在 wpparse_url() 解析失败时,它只会追加到 $validation 数组,而不会进入 $matches 数组。

结果就是:数组错位了。后续的子请求会被错误地分配到其他处理器,绕过了原本的安全检查。

第二拳:CVE-2026-60137 —— WP_Query SQL 注入

路由混淆之后,攻击者可以在内层请求中夹带一个 authorexclude 参数。这个参数在正常的用户查询端点中不会被接受(所以验证直接放行),但当它被错误地路由到 posts 处理器时,会映射到 WPQuery 的 author_notin 查询变量——而这个变量在构建 SQL 时没有做整型转换。

布尔盲注和时间盲注,就这么形成了。

攻击链全景

整个攻击过程不需要任何前置条件,一个匿名的 HTTP 请求就能启动:

  1. 向 /wp-json/batch/v1 发送精心构造的嵌套批量请求    ↓
  2. 外层 POST /wp/v2/posts 被错误地路由到 batch handler    (绕过了 GET 方法白名单检查)    ↓
  3. 内层 GET /wp/v2/users 携带恶意 author_exclude 参数    被路由到 posts 的 get_items(),触发 SQL 注入    ↓
  4. 通过盲注提取管理员密码哈希    ↓
  5. 离线破解密码 → 登录后台    ↓
  6. 上传恶意插件 → getshell

从”一个匿名请求”到”完全控制服务器”,中间可能就差一个弱密码的距离。

影响范围

| 版本 | 状态 | | — | — | | ≤ 6.8.5 | 不受影响(无路由混淆漏洞) | | 6.9.0 – 6.9.4 | 受影响 | | 7.0.0 – 7.0.1 | 受影响 | | 6.9.5 | ✅ 已修复 | | 7.0.2 | ✅ 已修复 | | 7.1 Beta 2 | ✅ 已修复 |

注意:6.8.x 版本虽然也受 CVE-2026-60137(SQL 注入)影响,但由于不存在路由混淆漏洞,完整的 RCE 链无法利用。

PoC 工具

目前已有公开的 PoC 工具。各位大佬可网上搜索,需要我提供的,在留言区留言:wp2shell-poc

1. 漏洞检测(check)

./wp2shell.py check http://target

加 –confirm-sqli 可进一步确认 SQL 注入路径

./wp2shell.py check http://target –confirm-sqli

2. 数据提取(read)

读取数据库指纹

./wp2shell.py read http://target

提取用户登录名和密码哈希

./wp2shell.py read http://target –preset users

自定义 SQL 查询

./wp2shell.py read http://target –query”SELECT @@version”

3. 后渗透 getshell(shell)

使用破解后的管理员凭据上传插件 webshell

./wp2shell.py shell http://target –user admin –password’cracked_password’ –cmdid

交互式 shell

./wp2shell.py shell http://target –user admin –password’cracked_password’-i

怎么防?

最优先:立即升级。

WordPress 已经发布了修复版本,并启用了强制自动更新。如果你在用 6.9.x 或 7.0.x,请立刻升级到:

🔹 6.9.5 或 7.0.2 及以上

暂时无法升级的缓解措施:

1. WAF/反向代理层面:拦截对 /wp-json/batch/v1 和 /?rest_route=/batch/v1 的请求

2. 安装 Disable WP REST API 插件:禁止未认证用户访问 REST API(可能影响正常功能)

3. 使用 Searchlight Cyber 提供的自定义插件(详见 wp2shell.com),强制 REST Batch API 需要身份验证

4. 审计日志:排查对 /batch/v1 端点的异常批量请求

Cloudflare 已经在全线产品(包括免费版)部署了 WAF 规则来拦截相关攻击,但官方强调:WAF 只是临时手段,升级才是正解。

最后

wp2shell 是近年来 WordPress 最严重的 Core 级别漏洞之一。它的可怕之处在于:

🔹 零前置条件:不需要账号、不需要插件、不需要用户交互

🔹 默认配置即中招:全新安装的 WordPress 也逃不掉

🔹 攻击面巨大:全球 43% 的网站跑着 WordPress

🔹 PoC 已经公开:大规模扫描和自动化利用可能已经在路上

如果你管理着 WordPress 站点,现在就去检查版本。升级,现在就去。 🌶️

🎯 关注我,持续不断地成长!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:逆熵寻生 CabinQ CabinQ《尽快检查修复!无需账号、默认配置,一个请求直接 getshell——WordPress 史上最严重的 Core 漏洞!》

评论:0   参与:  0