更新:CVE-2026-63030(wp2shell)的公开PoC现已可用"

admin 2026-10-17 03:50:13 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

更新:CVE-2026-63030 (wp2shell) 的公开 PoC 现已可用

Ots安全

2026年7月20日 19:29
广东

在小说阅读器读本章

去阅读

威胁简报

恶意软件

漏洞攻击

针对 Searchlight Cyber 发布的 wp2shell 安全公告中提及的未经身份验证的 WordPress REST 批量路由混淆 SQL 注入漏洞,进行了独立的概念验证。

此存储库并非 Searchlight Cyber 的官方检查器。check它确认 SQLi 路径, read演示数据库读取,并shell通过提供的管理员凭据或首先执行 SQLi 到管理员桥接来打开插件支持的命令 shell。

工作原理

REST 批处理端点(/batch/v1)未经身份验证,在一次调用中运行多个子请求,依赖于每个子请求本身的验证和权限检查。

serve\_batch\_request\_v1()它会构建两个并行数组—— $matches(每个子请求的匹配处理程序)和$validation(每个子请求的验证结果)——然后在分发时使用相同的偏移量对这两个数组进行索引。路径失败的子请求wp\_parse\_url()会被添加到 “匹配处理程序”数组中$validation,但不会添加到$matches“验证结果”数组中,因此这两个数组的索引顺序不一致,导致子请求被分发到不同的处理程序下。这就是路由混淆的原因。

该概念验证将基本元素嵌套了两次:

  1. POST /wp/v2/posts带有请求体的请求会requests直接由批处理程序处理。由于它已被验证为 POST 请求,因此其requests请求体列表不会与批处理模式进行比对,所以其子请求可以使用GET允许列表方法,该方法会被绕过。
  2. 在该内部批次中,一个GET /wp/v2/posts/999999item-route 请求携带 posts 集合查询参数,例如author\exclude<post\\_id> orderby、<post\\_id> 和 <post\\_id> per\\_page。ID999999不需要存在;它只是一个不太可能存在的帖子 ID,用于匹配 item-route,该路由的模式不会验证这些仅限集合使用的参数。然后,desync 会将相同的请求分发到 posts 下 get\_items(),其中author\_exclude<post\\_id> 映射到WP\_Query author\\_not\_in查询变量,易受攻击的构建会将该变量作为字符串插入到 SQL 中。

最终结果是实现了基于布尔值和时间的盲注 SQL 注入,且该注入可在身份验证之前进行。此概念验证还包含了 SQL 注入到管理员请求链中使用的 UNION 伪 POST 原语。

此处实现的远程代码执行路径为:

  1. 使用 UNION 伪造wp\_posts行通过文章集合渲染攻击者控制的内容。渲染桥使用/wp/v2/posts/999999item-route 源——与 SQLi 读取所用的路由相同get\_items()。
  2. 使用该渲染图可以让 WordPress 创建真正的 oEmbed 缓存文章。
  3. 通过 SQLi 恢复真实的缓存帖子 ID。
  4. 在一个被污染的批量请求中,将这些 ID 重新定义为自定义更改集、导航项和请求钩子形状。
  5. 让相同的请求到达POST /wp/v2/users,创建一个生成的管理员。
  6. 以生成的管理员身份登录,并使用插件上传行为来运行命令。

步骤 1-5 为身份验证前步骤;命令执行步骤为已验证管理员插件上传。

要求

需要 Python 3.8 及以上版本和标准库,无需第三方依赖。

用法

从仓库目录运行:

./wp2shell.py<command><url> [options]

或者pip install .获取wp2shell你身上的命令PATH。

检查——非破坏性漏洞检查

首先打印被动 WordPress 标记和公共版本提示,然后发送良性批量标记探测。易受攻击的批量实现会返回带有路由混淆标记模式的 HTTP 207 响应,该模式为 parse\_path\_failed, block\_cannot\_read, 和rest\_batch\_not\_allowed。

该标记探测基于 WordPress 核心修复。格式错误的///请求会创建 parse\_path\_failed;一个/wp/v2/posts请求充当允许批量处理的间隔符;该 /wp/v2/block-renderer/...路由不允许批量处理,但block\_cannot\_read如果匿名访问其处理程序,则会返回;/batch/v1给出rest\_batch\_not\_allowed。在存在漏洞的构建版本中,解析错误会导致批量处理程序数组错位,因此间隔符请求会被分派到块渲染器处理程序下。修复后的构建版本会保持数组对齐,因此精心构造的探测中不应出现这三个请求的模式。

默认情况下,check操作到此结束,不会发送 SQL 注入有效载荷。--confirm-sqli如果您还需要主动 SQL 注入确认,请使用此功能。确认操作会首先尝试 UNION 读取原语,如果 UNION 反射不可用,则回退到配对的定时探测。

这些信号是相互独立的:版本提示仅供参考,标记模式显示路由混乱,并--confirm-sqli表明有效载荷已到达数据库。WAF 可以阻止有效载荷,因此确认失败并不能证明漏洞不存在。

./wp2shell.py checkhttp://target
./wp2shell.py check targets.txt # scan every URLin the file

读取——通过 SQL 注入提取数据

./wp2shell.pyread http://target # server fingerprint
./wp2shell.pyread http://target --preset users # user logins and password hashes
./wp2shell.pyread http://target --query \"SELECT @@version\"

读取——通过 SQL 注入提取数据默认情况下,提取过程--technique auto会按以下顺序尝试可用方法:

  • union操作WP\_Post通过伪造一行数据UNION,并从 REST 响应中读取其标题||HEX(value)||。有效负载使用相同的/wp/v2/posts/999999源路由 orderby=none,因此per\_page=500伪造的行会以渲染后的 POST 请求形式保留下来。每个值对应一个请求。
  • 错误— EXTRACTVALUE/UPDATEXML当目标反映 MySQL 错误时,每次请求会泄漏约 15 字节(例如WP\_DEBUG\_DISPLAYon)。
  • 盲寻——布尔二分查找,每个字符约 8 次请求;将帖子集合 X-WP-Total标头读取为真/假信号,不需要反射值。

强制执行其中一个--technique union|error|blind。这些读取路径不会写入数据库行。

shell——命令执行

使用提供的管理员凭据登录,并使用 WordPress 插件上传行为--user。--passwordshell

在没有凭据的情况下,shell首先运行预身份验证 SQLi 到 admin 桥接程序,以生成的管理员身份登录,然后上传插件 shell。

./wp2shell.pyshell http://target --user admin --password '<recovered>' --cmd id
./wp2shell.pyshell http://target --user admin --password '<recovered>' -i # interactive shell
./wp2shell.pyshell http://target --cmd id # pre-auth bridge
./wp2shell.pyshell http://target -i # pre-auth interactive

shell上传一个插件 webshell(使用随机路径和每次运行的令牌锁定),并打印其路径。上传的 webshell 会自动删除。当预认证桥接创建管理员帐户时,生成的帐户会在 shell 会话结束后自动删除。

项目地址:

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

END

公众号内容都来自国外平台-所有文章可通过点击阅读原文到达原文地址或参考地址

排版 编辑 | Ots 小安

采集 翻译 | Ots Ai牛马

公众号 | AnQuan7 (Ots安全)


更新:CVE-2026-63030(wp2shell)的公开PoC现已可用" 网络安全文章

更新:CVE-2026-63030(wp2shell)的公开PoC现已可用"

公开资料显示CVE-2026-63030(wp2shell)漏洞的PoC现已可用。该漏洞利用WordPressRESTAPI批量路由混淆实现未经身份验证的SQL注入,并可通过SQL注入到管理员桥接实现远程代码执行。PoC工具支持漏洞检查、数据读取和命令执行。建议用户尽快检查并修复此漏洞。
15年潜伏“幽灵锁”:Linux内核rtmutex一处清理失误,针对影响小米设备的CVE-2026-43499漏洞进行漏洞分析和概念验证(PoC)" 网络安全文章

15年潜伏“幽灵锁”:Linux内核rtmutex一处清理失误,针对影响小米设备的CVE-2026-43499漏洞进行漏洞分析和概念验证(PoC)"

该文档分析了CVE-2026-43499漏洞,这是一个存在于Linux内核rtmutex子系统的Use-After-Free漏洞,影响2.6.39至7.0.x版本。漏洞源于futex优先级继承路径的代理锁回滚逻辑缺陷,攻击者可通过构造特定场景实现本地提权。文档提供了针对Android设备的PoC实现步骤,包括生成target.h和编译preload.so。建议用户尽快更新内核补丁以修复此高危漏洞。
神经网络:模拟大脑的计算奇迹,从感知机到深度学习的演进之路" 网络安全文章

神经网络:模拟大脑的计算奇迹,从感知机到深度学习的演进之路"

本文系统介绍了神经网络从感知机到深度学习的发展历程,涵盖核心公式、哲学科学意义、反向传播算法推导及实际应用。文章指出神经网络通过模拟大脑学习过程,从经验中涌现智能,其核心是反向传播算法和梯度下降。主要应用包括图像识别、自然语言处理和医学诊断。文章强调神经网络是对自然学习方式的数学模拟,为人工智能发展提供了基础。
云安全漏洞挖掘与利用Skill—攻击面发现+凭据后利用" 网络安全文章

云安全漏洞挖掘与利用Skill—攻击面发现+凭据后利用"

该文档介绍了一款名为cloud-vuln-skill的云安全测试工具集,聚焦于攻击面发现与凭据后利用两个阶段。工具无需凭证即可进行S3桶爆破、SSRF探测、K8s未授权检测等信息收集;获取凭证后支持AK/SK验证、权限枚举及提权路径分析。设计遵循只读优先与写入即清理原则,不实际利用漏洞。文档提供了详细的安装、命令用法及参数说明,适用于云环境安全评估。
评论:0   参与:  0