Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-19089-WooCommerce-Tyche — # CVE-2026-19089 研究仓库 针对 Tyche Softwares 的 WooCommerce Product Input Fields 中远程命令执行漏洞(CVE-2026-19089)的研究仓库。包含用于授权实验室测试的草稿研究脚本和笔记。 | Kitploit
工具/GitHubGitHub/abraxas/cve-2026-19089-woocommerce-tyche
漏洞分析漏洞利用Web应用程序漏洞利用学习与教育
GitHubabraxas/cve-2026-19089-woocommerce-tyche

CVE-2026-19089-WooCommerce-Tyche

# CVE-2026-19089 研究仓库 针对 Tyche Softwares 的 WooCommerce Product Input Fields 中远程命令执行漏洞(CVE-2026-19089)的研究仓库。包含用于授权实验室测试的草稿研究脚本和笔记。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
52820天前尚未审核
分享

banner

CVE-2026-19089

Product Input Fields for WooCommerce < 2.0.2 - 未认证任意文件上传

Tyche Softwares 的 Product Input Fields for WooCommerce 插件在字段的 accepted-types 设置为空时(其自身文档将其宣传为“接受所有文件”),不会验证上传的文件类型。未认证的访客可以在加入购物车时附加任意文件,完成结账,并在插件上传目录下检索该对象。在将该目录树作为 PHP 执行的主机上,同一路径即为远程代码执行。

CVECVE-2026-19089
CWECWE-434: Unrestricted Upload of File with Dangerous Type
CVSS 3.19.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
VendorTyche Softwares
ProductProduct Input Fields for WooCommerce (product-input-fields-for-woocommerce)
Affected2.0.0 至 2.0.1(2.0.2 之前的插件)
Patched2.0.2
RelatedCVE-2024-13359(通过 1.12.0 的有限 AFU)
CNAWPScan

本仓库包含 Abraxas Labs 的概念验证,仅供授权测试使用——供应商披露、实验室复现,或您已获得书面许可进行评估的主机。

我在本地 WooCommerce 商店上运行了该客户端,使用 Product Input Fields 2.0.1、访客结账加货到付款,以及一个 accepted types 为空的全局 File 字段。该脚本执行上传和结账的暂存;它不附带 webshell。


摘要

File 类型的商品输入字段通过 alg_wc_pif_global_* / alg_wc_pif_local_* 绑定到店面加入购物车表单。当 accepted file types 为空时,插件会存储访客提交的任何内容。订单成功后,文件会持久化到 wp-content/uploads/product_input_fields/ 下,通常命名为 {item_id}_{original_filename}。

当以下所有条件均满足时,站点会暴露:

  1. Product Input Fields 处于易受攻击的 2.x 版本(2.0.2 之前)并处于激活状态。
  2. 至少有一个 File 输入字段附加到已发布的商品上。
  3. 该字段的 accepted-types 列表为空。
  4. 访客结账(或任何可访问的结账)可以完成订单,从而使上传被提交。

在这些条件下,影响是以 Web 用户身份进行任意文件写入。如果上传目录可执行,那就是站点接管。


技术说明

该客户端仅停留在店面。它不包含 PHP webshell 或反向 shell。

  1. 探测 - 对商品 URL 执行 GET,收集 PIF 文件字段名称和 add-to-cart 商品 id。
  2. 阶段 1 - 在 PIF 字段名下以良性 PNG 标记(image/png)对加入购物车执行 POST。默认文件名为 pifx.php,以便实验室可以看到插件是否允许危险扩展名。该标记不是可执行的 PHP。
  3. 阶段 2 - 通过 /?wc-ajax=checkout 使用货到付款进行访客结账。
  4. 阶段 3 - 如果存在结账 redirect 则跟随,然后扫描 wp-content/uploads/product_input_fields/{1..499}_{name} 并 POST x 以查找 SHELL_OK 见证。仅当该见证返回时才打印 [ LIVE ]。

概念验证

CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py 是一个小型 Python 3 客户端:彩色 figlet 横幅,然后是上述四个步骤。它仅与您在命令行中传入的 URL 通信。

要求

  • Python 3.9+
  • requests

在 macOS 上使用 Homebrew Python(PEP 668)时,请使用 venv 而不是系统 pip install:

python3 -m venv .venv
.venv/bin/pip install requests

用法

CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py <base_url> <product_url> [shell_name]
.venv/bin/python3 CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py \
  https://shop.example \
  https://shop.example/product/demo/

第三个参数设置上传的文件名;默认为 pifx.php。

如果参数少于两个,脚本会打印横幅和用法,然后以 1 退出。这是确认客户端启动的安全方式。

实验室前提条件

WooCommerce 启用访客结账和可用的支付网关(客户端发送 payment_method=cod),Product Input Fields 2.0.2 之前,以及一个已发布的商品,其 File 字段接受任何类型。针对 2.0.2+ 或具有严格允许列表的字段,该对象不应作为 .php 上传落地。

不要将此指向任何您不拥有或没有书面授权测试的主机。


缓解措施

  • 补丁: 从 WordPress.org 插件目录 将 Product Input Fields for WooCommerce 更新到 2.0.2 或更高版本。
  • 临时变通方法: 在每个 File 字段上设置明确的 accepted-types 列表(仅图像,绝不为空)。确认上传目录不执行 PHP。
  • 在疑似事件后,检查 wp-content/uploads/product_input_fields/(以及某些布局下的 woocommerce_uploads/alg_uploads/product_input_fields/),移除意外对象,并轮换 wp-admin 的密钥。

参考

  • CVE-2026-19089
  • NVD
  • WPScan 公告
  • Wordfence: Product Input Fields for WooCommerce <= 2.0.1 - Unauthenticated Arbitrary File Upload
  • CVE-2024-13359

免责声明

仅供研究和教育使用。除非您获得托管此仓库的一方和目标系统所有者的明确书面许可,否则不要对任何主机运行、部署或使用此材料。

Abraxas Labs · abraxaslabs.tech · github.com/abraxas · @abraxas_null

下载工具