Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-11387-WooCommerce-SMS-OTP — SMS & OTP for WooCommerce、订单通知与弃单恢复 WordPress 插件;SMS Alert <3.9.6;未认证权限提升(强制密码重置) | Kitploit
工具/GitHubGitHub/abraxas/cve-2026-11387-woocommerce-sms-otp
权限提升漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试身份验证
GitHubabraxas/cve-2026-11387-woocommerce-sms-otp

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-11387-WooCommerce-SMS-OTP

SMS & OTP for WooCommerce、订单通知与弃单恢复 WordPress 插件;SMS Alert <3.9.6;未认证权限提升(强制密码重置)

查看仓库
43817天前尚未审核

Abraxas Labs

CVE-2026-11387

SMS Alert ≤ 3.9.5 - 通过任意密码重置实现未认证权限提升

WordPress 插件 SMS Alert - SMS & OTP for WooCommerce, Order Notifications & Abandoned Cart Recovery 中存在一个严重的身份验证不当漏洞。当密码重置启用了 OTP 验证时,未认证的调用者可以为任何已登记电话号码的用户(包括管理员)设置新密码,而无需证明其拥有该电话号码。

CVECVE-2026-11387
CWECWE-287: 身份验证不当
CVSS 3.19.8 严重 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
厂商Cozy Vision Technologies Pvt. Ltd.
产品SMS Alert (sms-alert)
受影响版本所有版本直至 3.9.5
已修复版本3.9.6(2026 年 6 月 27 日)
CNAWordfence

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


概述

SMS Alert 挂钩了 WooCommerce / WordPress 的丢失密码流程,使得通过短信发送的一次性验证码本应作为新密码的门禁。在受影响版本中,option=smsalert-change-password-form 背后的处理程序在未检查调用者是否完成 OTP 验证或以其他方式拥有该账户的情况下,直接应用了 smsalert_user_newpwd。

官方 CVE 记录还指出,同样的身份检查缺失也可被用于更改受害者的电子邮件地址,然后通过正常的重置流程接管账户。两种路径均属于未认证账户接管。

站点仅在以下两个条件同时满足时才会暴露:

  1. 插件中启用了密码重置的 OTP 验证。
  2. 目标用户已存储用于 OTP 的电话号码(通常是 billing_phone)。

在这些条件下,影响是所选账户的完全沦陷。管理员账户被接管即意味着整个站点的沦陷。


影响

条件结果
未认证的网络访问无需 WordPress 凭据
目标是购物者 / 订阅者该客户账户被接管
目标是管理员权限提升至 wp-admin,可安装插件/主题,植入持久性恶意软件

机密性、完整性和可用性均受到严重影响:攻击者可以读取订单和 PII,更改站点内容和用户,并将合法所有者锁定在外。


技术说明

使用 SMS Alert 的密码重置大致流程如下:

lost-password request  →  OTP to the user’s phone  →  verified change-password POST

出问题的环节是最后一步。插件根据 $_REQUEST['option'] == 'smsalert-change-password-form' 进行路由(参见 3.9.5 中的 class-wpresetpassword.php),然后写入提交的密码。它没有将该 POST 请求与先前的 OTP 会话、nonce 或能力检查绑定,以证明调用者就是重置请求中指定的用户。

本概念验证代码正是针对该处理程序:

  1. 触发丢失密码流程 - 向 WooCommerce 的 /my-account/lost-password/ 和 /wp-login.php?action=lostpassword 发送 POST 请求,并设置 wc_reset_password,从而为受害用户名进入插件的重置路径。
  2. 未认证设置密码 - 向 /、/my-account/lost-password/ 以及 wp-login 的丢失密码动作发送 POST 请求,携带 option=smsalert-change-password-form 以及 smsalert_user_newpwd / smsalert_user_cnfpwd。包含 password-reset=true 的 Location 头被视为成功。
  3. 登录检查 - 如果重定向未确认重置成功,脚本会使用新密码尝试 wp-login.php,以便实验室运行能够区分真正的接管与失败(OTP 选项关闭,或用户没有电话号码)。

未提交任何 OTP。这就是漏洞所在。


概念验证

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

要求

  • Python 3.9+
  • requests

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

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

用法

CVE-2026-11387-WooCommerce-SMS-OTP-Abraxas-Labs.py <base_url> <victim_username> [new_password]
.venv/bin/python3 CVE-2026-11387-WooCommerce-SMS-OTP-Abraxas-Labs.py \
  https://shop.example \
  admin

第三个参数设置要应用的密码;默认值为 abr4x4s#L4b5。

不带参数时,脚本会打印横幅和用法说明,然后以 1 退出。这是确认客户端能够启动的安全方式。

实验室前提条件

目标 WordPress 站点必须运行 SMS Alert ≤ 3.9.5,启用了重置时的 OTP,且受害用户名必须已登记用于 OTP 的电话号码。针对已修复的 3.9.6+ 站点,或没有电话号码的用户,登录检查预期会失败。

请勿将此工具指向任何您不拥有或未获得书面授权测试的主机。


缓解措施

  • 补丁: 从 WordPress.org 插件目录 将 SMS Alert 更新至 3.9.6 或更高版本。
  • 临时变通方案: 在更新到位之前,禁用密码重置的 OTP 验证。这将移除存在漏洞的代码路径。
  • 在疑似事件发生后,轮换所有已登记电话号码的账户的密码(尤其是管理员),审查用户和插件,并将相关时间窗口内的 wp-admin 会话视为不可信。

参考资料

  • CVE-2026-11387
  • Wordfence 公告
  • NVD
  • GitHub Advisory GHSA-ggpj-jphc-wmc4
  • 插件源码,3.9.5:class-ultimatemember.php (Trac)

免责声明

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

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

下载工具