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

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

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;未认证权限提升(强制密码重置)

查看仓库
622小时32分前尚未审核

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 背后的处理程序在应用 smsalert_user_newpwd 时,未检查调用者是否已完成 OTP 验证或以其他方式拥有该账户。

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

仅当以下两个条件同时成立时,网站才会暴露:

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

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


影响

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

机密性、完整性和可用性均受到严重影响:攻击者可以读取订单和个人身份信息(PII)、更改网站内容和用户,并将合法所有者锁定在账户之外。


技术说明

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

root@kitploit:~
丢失密码请求  →  向用户手机发送 OTP  →  验证后更改密码的 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 丢失密码操作发送包含 option=smsalert-change-password-form 以及 smsalert_user_newpwd / smsalert_user_cnfpwd 的 POST 请求。包含 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

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

root@kitploit:~
python3 -m venv .venv
.venv/bin/pip install requests

使用方法

root@kitploit:~
CVE-2026-11387-WooCommerce-SMS-OTP-Abraxas-Labs.py <base_url> <victim_username> [new_password]
root@kitploit:~
.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 安全公告 GHSA-ggpj-jphc-wmc4
  • 插件源码 3.9.5:class-ultimatemember.php (Trac)

免责声明

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

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

下载工具