坏了!我的网站也是WordPress,无需账号密码差点被RCE了

admin 2026-07-20 04:28:01 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: WordPress核心漏洞CVE-2026-63030和CVE-2026-60137组合可实现预认证远程代码执行。攻击链利用RESTAPI路由混淆和SQL注入,无需凭据即可创建管理员并上传webshell。影响6.9.0-6.9.4和7.0.0-7.0.1版本。建议立即升级至6.9.5或7.0.2,并临时拦截batch/v1端点。 综合评分: 87 文章分类: 漏洞分析,应急响应,渗透测试,红队,WEB安全


cover_image

坏了!我的网站也是WordPress,无需账号密码差点被RCE了

助力行业的 助力行业的

李白你好

2026年7月19日 13:20 日本

在小说阅读器读本章

去阅读

前言:一场“无需登录”的灾难

2026年7月,WordPress生态再次迎来重磅安全事件。研究人员公开了CVE-2026-63030(wp2shell)漏洞的完整利用链,结合CVE-2026-60137的SQL注入,攻击者无需任何账号密码,即可实现远程代码执行(RCE),完全接管目标站点。安全圈里面用WP自建网站论坛的朋友还不少。

不是插件漏洞,而是WordPress核心的问题。全球数百万WordPress站点面临直接威胁,尤其那些未及时更新的6.9.x和7.0.x版本。

漏洞核心:REST API批处理路由混淆 + SQL注入

1. 路由混淆(Route Confusion,CVE-2026-63030)

WordPress的/wp-json/batch/v1端点支持将多个子请求打包成一次HTTP调用,以提升性能。但在处理嵌套请求时,路由解析逻辑存在严重缺陷:

  • serve_batch_request_v1() 会构建两个平行数组:$matches(匹配的处理器)和$validation(验证结果)。
  • 构造特殊路径(如包含///的无效路径)会导致数组索引错位(desync)。
  • 原本应该被验证拒绝的请求,被错误地派发到另一个路由的处理器上,从而绕过权限检查和方法限制。

攻击者通过精心嵌套的batch请求,实现“请求A以请求B的身份执行”。

2. SQL注入(CVE-2026-60137)

结合WP_Query参数处理不当(特别是author__not_in等查询变量),攻击者可在/wp/v2/posts等路由下注入SQL。利用路由混淆后,即使是GET请求也能携带恶意参数,并通过盲注(time-based/boolean)或UNION方式操作数据库。

https://github.com/Icex0/wp2shell-poc

使用方法
python wp2shell.py shell
http://192.168.1.1 -i
[!] This uploads a plugin containing a webshell to the target.                                                          [!] No credentials supplied; attempting pre-auth administrator creation.
[*] Creating administrator through the SQLi-to-customizer bridge...
[+] Administrator created: wp2_fea52d90738f
[*] Authenticating as 'wp2_fea52d90738f'...
[+] Authenticated.
[*] Deploying webshell plugin...
[+] Webshell: http://192.168.1.2/wp-content/plugins/wp2shell_c545c0a4/wp2shell_c545c0a4.php
[*] Interactive shell — type commands, 'exit' or Ctrl-D to quit.
/var/www/html/wp-content/plugins/wp2shell_c545c0a4 $ whoami
www-data
/var/www/html/wp-content/plugins/wp2shell_c545c0a4 $

完整攻击链(Pre-Auth RCE)

  1. 盲SQL注入探测:确认漏洞存在,提取数据库信息。
  2. 伪造数据:利用UNION注入构造假的wp_posts记录,通过oEmbed缓存等机制在数据库中植入恶意内容。
  3. 创建管理员:篡改Customizer changeset、navigation item等,触发POST /wp/v2/users创建高权限用户。
  4. 登录并上传插件:以新管理员身份登录后台,上传恶意插件实现命令执行(webshell)。

整个过程无需凭据,部分PoC还能实现全自动化RCE。公开的工具包括:

  • Icex0/wp2shell-poc:独立PoC,支持check、read、shell模式,无第三方依赖。
  • NULL200OK/WP2Shell:批量扫描 + UNION提取凭据 + RCE。
  • ZephrFish Scanner:最完整框架,支持多种模式。
  • Nuclei官方模板等。

影响范围

受影响版本

  • WordPress 6.9.0 – 6.9.4
  • WordPress 7.0.0 – 7.0.1
  • 7.1 Beta1(部分)

6.8.5及以下版本不受此完整RCE链影响(但可能受关联SQLi影响)。

修复建议(立即行动!)

  1. 升级WordPress
  • 升级到 6.9.57.0.2 或 7.1 Beta2 及以上。
  • 官方已开启自动更新,建议立即检查后台「仪表盘 → 更新」。
  1. 临时缓解(升级前):
  • 在WAF/边缘(如Cloudflare、Nginx)拦截/wp-json/batch/v1 及 rest_route=/batch/v1 参数。
  • 安装插件临时禁用未认证REST API访问(注意兼容性)。
  • 监控异常batch请求和SQL相关日志。
  1. 事后检查
  • 审查最近创建的用户、插件、oEmbed缓存记录。
  • 扫描并移除可疑webshell。

写在最后

WordPress作为全球最流行的CMS,其核心漏洞的影响力远超普通插件问题。此次wp2shell事件再次提醒我们:及时更新、最小权限、WAF防护 是网站安全的底线。

开发者与站点管理员们,立刻升级吧!别让你的站点成为下一个被“无密码接管”的受害者。

参考链接:

https://github.com/Icex0/wp2shell-poc

https://github.com/Senanfurkan/wordpress-cve-2026-63030

https://github.com/NULL200OK/WP2Shell

https://github.com/ZephrFish/wp2shell-scanner

https://cloud.projectdiscovery.io/library/CVE-2026-63030ProjectDiscovery

网络安全情报攻防站

www.libaisec.com

综合性的技术交流与资源共享社区

专注于红蓝对抗、攻防渗透、威胁情报、数据泄露

👇 点击阅读原文,访问网络安全情报攻防站


免责声明:

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

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

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

本文转载自:李白你好 助力行业的 助力行业的《坏了!我的网站也是WordPress,无需账号密码差点被RCE了》

评论:0   参与:  0