這會是 WordPress 歷史上最慘重的黑客入侵事件嗎?

BBetter Stack
AI/미래기술경제 뉴스컴퓨터/소프트웨어

Transcript

00:00:00WordPress 最近出现了一连串漏洞,其中最新的漏洞极为严重,
00:00:04甚至能让黑客完全控制后台管理面板。这包括 SQL 注入、执行
00:00:09Shell 命令等非常严重的隐患。也许你并不关心 WordPress,但它仍支撑着全球超过 44%
00:00:14的网站,这意味着你日常互动并提交数据的许多网站,
00:00:19都很有可能正在运行 WordPress 并且属于这个受漏洞影响的版本。它的运行机制大致是这样的:
00:00:25我在本地安装了一个标准的原生 WordPress,我可以运行这个
00:00:29检测脚本来查看漏洞是否存在。你可以看到我们收到了响应
00:00:34HTTP 207,这意味着它确实存在漏洞。这也代表我们现在可以运行第二个检查,
00:00:41即进入交互式 Shell。该脚本会对网站进行 SQL 注入,创建一个全新的管理员用户,
00:00:47然后上传一个恶意插件,使我能够与该网站上的任何文件进行交互。
00:00:52接下来让我们深入探讨这个问题,看看它具体是如何运作的。
00:00:58我现在看的这个代码库展示了如何对存在漏洞的 WordPress 网站进行 SQL 注入,也就是
00:01:06版本介于 6.90 至 6.94,或 7.00 至 7.01 之间的任何网站。整个攻击始于调用一个未身份验证的
00:01:14端点 batch v1,它允许你批量打包其他请求,而这些请求本身会进行验证和权限检查。
00:01:20批处理程序有两个并行数组,本应保持同步:validation 和 matches。
00:01:26但存在一个 Bug,当函数 wp pass URL files 因路径无效失败时,仅 validation 被更新,
00:01:33导致用来访问这两个数组的相同索引产生了不匹配的结果。概念验证(PoC)正是利用了这一点,
00:01:41它发送一个仅包含单个请求的批处理,即向 v2 post 端点发出的 POST 请求,而该请求本身携带有请求体。
00:01:48由于父请求被正确验证为 POST 请求,请求体中的任何请求最终都绕过了方法允许列表,
00:01:56从而允许你发送 GET 请求。在这个内部批处理中,有一个对不存在文章的 GET 请求,这触发了
00:02:02早先的异步脱节,导致 WordPress 在名为 get items 的函数下分发了同一个请求,其中字段 author
00:02:10exclude 映射到 author not in,有漏洞构建版本将其作为字符串插值拼接到 SQL 中。简单来说,因为所有这些操作在运行,
00:02:18SQL 没有被转义。PoC 使用了一系列请求,最终允许向 v2 users 发出 POST 请求以创建
00:02:25一个新的管理员账号。该代码库实际上详细介绍了所有这些步骤。前五步是未授权前的操作,利用了这个 Bug;但第六步只是已身份验证用户的正常 WordPress 行为,
00:02:35即上传一个恶意安装包。好了,正如先前提到的,这只是标准的原生 WordPress 版本,漏洞并不是通过某种恶意插件进入的,
00:02:46你安装标准版 WordPress 就会存在。我们先运行这个检查脚本,它基本上用来验证
00:02:52漏洞是否可以被利用。接着我们可以运行这个读取命令,例如它会告诉我们像
00:02:57数据库用户和数据库名称这类信息。我们现在还可以对网站运行 SQL 查询,从而获取诸如
00:03:03数据库实际正在运行哪个版本的信息。不过这些都还不是最糟糕的,真正可怕的是
00:03:07我们可以直接创建一个管理员账号,使其拥有上传恶意插件的权限。
00:03:15在本例中它被称为 web shell。这使我们能够访问网站的 Shell 终端,意味着我们现在拥有对
00:03:22该网站上任何文件的访问权限。这次攻击正是按照我们在视频前半部分解释的方式进行的。
00:03:27创建管理员后,插件被上传,最后该用户会被删除,因此
00:03:34插件的存在和所发生的一切变得更加隐蔽。为了展示这有多严重,我还创建了另一个独立的脚本,
00:03:38它会创建一个管理员账号并将其保留在系统中。
00:03:40看这里,我拿到了一个用户名和密码。回到网站,如果我访问 wp login 页面,我可以输入那个
00:03:47用户名和密码,点击登录,现在我就拥有了对管理后台的完整访问权限。如果这听起来有些复杂,别担心,
00:03:54我也花了很长时间才搞明白。据说,最终形成的这条利用链非常荒谬地
00:04:00复杂,单凭人类安全研究员可能需要数周甚至数月的时间才能发现并
00:04:05拼凑出来。没有任何人类研究员能在没有 AI 辅助的情况下,在 10 小时内
00:04:10找到并完成这条利用链。这相当令人担忧,因为坏人实际上可以利用 Bot 扫描
00:04:17代码库、检查 URL,静静等待漏洞出现,然后利用 AI 以破纪录的速度发起攻击。
00:04:23Reddit 上的一位用户表示,他们的网站在漏洞被发现仅仅两天后就被入侵了。
00:04:27由于他们只在周末升级,攻击者得以在系统处于漏洞状态期间创建一个新管理员并登录。
00:04:33该漏洞已在 7.0.2 版本中修复,大家可以升级到该版本,但这确实是个相当疯狂的漏洞。
00:04:40你可以在评论区找到我用来运行 PoC 的代码库和文章,另外,
00:04:46不妨订阅 Better Stack 来获取最新的科技资讯。希望大家喜欢这个视频,
00:04:50当然,一如既往,我们下期再见!

Key Takeaway

WordPress 原生版本 6.90 至 6.94 及 7.00 至 7.01 存在无需插件即可提权创建管理员并上传 Web Shell 的严重 SQL 注入漏洞,全球受影响站点需尽快升级至 7.0.2 版本。

Highlights

  • WordPress 版本 6.90 至 6.94 以及 7.00 至 7.01 存在严重的原生 SQL 注入漏洞,覆盖全球 44% 以上的网站。

  • 攻击者通过批量请求端点 batch v1 利用 validation 与 matches 数组同步漏洞,成功绕过方法允许列表并拼接未转义的 SQL 语句。

  • 此漏洞无需依赖任何第三方插件,攻击者可在未经身份验证的情况下创建全新的管理员账号并上传 Web Shell 恶意插件。

  • AI 工具辅助加速了此类复杂利用链的挖掘,已有网站在漏洞发布仅两天内即遭遇实际攻击与入侵。

  • WordPress 官方已在 7.0.2 版本中修复该安全隐患。

Timeline

WordPress 严重安全漏洞的威胁与影响范围

  • WordPress 支撑着全球超过 44% 的网站,本次漏洞直接影响原生核心系统。
  • 通过简单的检测脚本发送 HTTP 207 响应即可确认网站是否存在受影响漏洞。
  • 攻击者利用此漏洞能实现 SQL 注入、创建管理员账号并执行 Shell 命令。

原生 WordPress 架构中存在的严重漏洞直接威胁绝大多数运行该系统的网站。检测脚本可通过发送特定请求并获取 HTTP 207 响应来快速辨识目标站点是否可被入侵。攻破后,攻击者可直接注入 SQL 语句、新建后台管理员并上传恶意插件以完全控制服务器文件。

未授权 SQL 注入与漏洞利用链技术细节

  • 受影响的版本范围为 WordPress 6.90 至 6.94 以及 7.00 至 7.01。
  • 未身份验证端点 batch v1 内部的 validation 和 matches 数组同步失效导致了权限绕过。
  • author exclude 字段被映射至 author not in 并直接以字符串插值拼接到 SQL 中,导致 SQL 语句未经转义。

整个攻击始于未授权端点 batch v1。由于 wp pass URL files 函数在路径无效时仅更新 validation 数组,导致两个并行数组的索引脱节。攻击者借此绕过 POST 方法允许列表,触发内部 GET 请求并利用拼接字符串的漏洞分发 SQL 注入,最终向 v2 users 端点发送请求以静默创建管理员账号。

从创建管理员到获取完全 Shell 控制权

  • 攻击完全针对 WordPress 标准原生版本,不需要安装任何恶意插件作为介质。
  • 漏洞可用于读取数据库名称、数据库用户名以及具体运行的版本信息。
  • 通过上传被称为 Web Shell 的恶意插件,攻击者可获得对服务器任何文件的完整访问权限。

在标准原生 WordPress 环境下,攻击者只需运行检测和读取脚本即可导出敏感的数据库配置信息。随后通过漏洞生成的管理员权限上传 Web Shell 插件,从而直接获取终端 Shell 的操控权。完成恶意插件安装后,攻击者会删除初始创建的管理员账号以掩盖入侵痕迹。

AI 辅助黑客攻击与 7.0.2 修复版本

  • 该利用链非常复杂,人类安全研究员在无 AI 辅助下极难在 10 小时内构建完成。
  • 黑客利用自动化 Bot 与 AI 组合,可在漏洞公布后数天内完成扫描并发起攻击。
  • 官方已在 WordPress 7.0.2 版本中彻底修复该漏洞。

如此复杂的利用链原本需要研究员花费数周至数月时间拼凑,但 AI 技术的引入使得黑客能以破纪录的速度自动化扫描并生成利用脚本。实际案例显示,有网站在漏洞公开仅两天后便因未及时更新而遭黑客入侵并建立持久管理员权限。更新至 7.0.2 版本可彻底阻断此攻击路径。

Community Posts

View all posts