跳转至

Funnel Builder Flaw Under Active Exploitation Enables WooCommerce Checkout Skimming

Ch12.084 Funnel Builder Flaw Under Active Exploitation Enables WooCommerce Checkout Skimming

📊 Level ⭐⭐ | 5.2KB | entities/funnel-builder-flaw-woocommerce-checkout-skimm.md

核心要点

  • Published Time: Tue, 19 May 2026 16:38:12 GMT
  • 影响范围:Funnel Builder(WordPress 插件)+ 40,000+ WooCommerce 商店- 漏洞类型:未授权 JavaScript 注入 → 支付页面盗取信用卡数据
  • 漏洞状态:正在被活跃利用(无 CVE 编号)
  • 修复版本:3.15.0.3
  • 攻击手法:在插件"External Scripts"设置中植入伪装成 Google Tag Manager 的恶意脚本,加载远程 skimmer,通过 WebSocket 连接 C2 服务器(wss://protect-wss[.]com/ws)获取定制化盗取代码

深度分析

漏洞根因:公开端点的权限缺失

漏洞的技术根因是 Funnel Builder 包含一个公开暴露的 checkout 端点,该端点允许传入请求选择要运行的内部方法类型,但旧版本从未验证调用者权限或限制可调用方法范围。 这意味着任何未经身份验证的请求都可以到达某个写入攻击者控制数据的内部方法,将添加的代码片段注入每个 Funnel Builder 结账页面。问题的关键不是某个具体方法有漏洞,而是整个权限控制机制根本不存在

攻击链解构

  1. 入口:未认证 HTTP 请求到达公开的 checkout 端点
  2. 方法选择:端点允许请求者指定要调用的内部方法(无权限校验)
  3. 写入攻击者控制的数据:通过该方法将恶意 <script> 标签写入插件全局设置
  4. 注入:该标签自动出现在所有 Funnel Builder 结账页面
  5. 伪装:脚本伪装成 Google Tag Manager 加载器(看起来像普通分析工具)
  6. C2 通信:脚本建立 WebSocket 连接到攻击者服务器(wss://protect-wss[.]com/ws)
  7. 载荷下发:C2 服务器动态返回针对受害者商店定制的 skimmer
  8. 盗取:在用户结账时截获信用卡号、CVV、账单地址

为什么没有 CVE?

值得注意的是,该漏洞目前没有官方 CVE 标识符。这在正在被活跃利用的漏洞中极为罕见。通常此类漏洞会被分配 CVE 并进入 NVD 数据库,供安全扫描工具自动识别。CVE 缺失可能意味着:漏洞太新(披露与利用同步),或插件厂商选择不经过标准 CVE 流程直接发布补丁。

实践启示

对 WordPress / WooCommerce 站主1. 立即更新 Funnel Builder 至 ≥3.15.0.3:这是消除漏洞的根本途径

  1. 手动审查 External Scripts 设置:进入 Settings → Checkout → External Scripts,删除任何不认识的内容。即使是看起来像 GTM 或 GA 的脚本,也要核实来源
  2. 将 .obsidian/ 加入 .gitignore:如果是开发者,避免本地 Vault 被污染(针对使用本 wiki 与代码库共用的用户)
  3. 检查是否已有 Indicators of Compromise:攻击者的 C2 域为 protect-wss[.]com(WebSocket),可检查服务器日志是否有相关连接

对安全研究 / 防御方

  1. 在 SCA 流程中加入 WordPress 插件优先级评估:Funnel Builder 有 40,000+ 安装量,属于高价值攻击目标,应在软件成分分析中提升优先级
  2. WebSocket 流量监控:大多数企业安全工具不检查 WebSocket 流量,这是攻击者使用 wss:// 进行 C2 通信的原因之一。建议对出站 WebSocket 连接实施白名单或告警
  3. 第三方脚本的代码签名/哈希验证:对于 External Scripts 这类允许注入第三方脚本的设置,应实施哈希校验或 SRI(Subresource Integrity),防止注入内容被篡改
  4. 将无 CVE 的活跃漏洞加入威胁情报:该漏洞无 CVE 意味着许多自动扫描工具无法识别它,需要人工补充到内部威胁情报库

对插件开发者

  1. 永远不要假设 API 端点会被"善意使用":即使是不起眼的内部方法,也要验证调用者权限
  2. 外部脚本设置需要增加代码审查门槛:建议添加脚本来源域名白名单、强制 HTTPS、禁止内联脚本等策略
  3. 优先通过标准 CVE 流程披露:无 CVE 意味着整个安全社区的扫描和检测能力失效,损害的是整个生态

相关实体

原文存档