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

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
exploit-CVE-2023-3460 — # CVE-2023-3460 的利用与分析:Ultimate Member WordPress 插件中的严重权限提升漏洞,附复现环境与缓解指南 | Kitploit
工具/GitHubGitHub/julienbrs/exploit-cve-2023-3460
权限提升漏洞分析漏洞利用Web应用程序漏洞利用学习与教育实验室与实践
GitHubjulienbrs/exploit-cve-2023-3460

exploit-CVE-2023-3460

# CVE-2023-3460 的利用与分析:Ultimate Member WordPress 插件中的严重权限提升漏洞,附复现环境与缓解指南

查看仓库
2年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

title: "Sécurité des SI - CVE 2023-38408"

CVE-2023-3460 的分析与利用

CVE IDCVSS 评分发现日期受影响插件漏洞类型
CVE-2023-3460Critical07/04/2023Ultimate Member未授权管理员访问

目录

  • 引言
  • 漏洞的总体机制
    • WordPress 中的角色管理机制
    • Ultimate Member 的错误实现
  • CVE-2023-3460 的安全目标
    • 假设
    • 典型用户
    • 需要保护的资产
    • 威胁
    • 安全功能
  • 典型架构
  • 漏洞缓解措施
  • 漏洞实验
    • 复现
    • exploit.py 详情
  • 附录
    • 术语表
    • 来源

引言

本研究聚焦于 CVE¹-2023-3460,这是一个影响 WordPress 插件 "Ultimate Member" 的严重漏洞,可导致未授权的权限提升。该插件被广泛使用,用于 WordPress 网站上的个人资料管理。此漏洞构成重大风险,因为它允许攻击者获得管理员权限,从而完全控制网站。因此,该漏洞被 NIST² 评定为严重级别,评分为 9.1(基于 CVSS 评分标准)。

漏洞的总体机制

CVE-2023-3460 利用了该插件在角色和权限管理方面的缺陷。在 WordPress 中,WP_Capabilities³ 函数用于管理用户的角色和权限。该函数允许管理员为每个用户角色定义特定能力。然而,如果该函数使用不当,可能会导致权限提升漏洞。

在 Ultimate Member 的情况下,该漏洞允许攻击者绕过 WP 能力检查,并获得网站的管理员级访问权限。该插件使用一个预定义的用户元数据键列表,这些键不应被用户操作。然而,这种基于黑名单的安全方法往往不够充分,因为它留下了绕过的可能性。

WordPress 中的角色管理机制

WordPress 通过一个名为 wp_capabilities 的结构来管理用户的角色和权限。该结构是授予用户的不同角色和权限的序列化表示。例如,管理员的能力集与编辑者或投稿者不同。这些能力以序列化数组的形式存储在 WordPress 数据库的 wp_usermeta 表中。

Ultimate Member 的错误实现

CVE-2023-3460 漏洞的根源在于 Ultimate Member 对角色和权限管理的实现。该插件使用一个预定义的用户元数据键列表,用户不应操作这些键。此列表用于检查用户在创建账户时是否尝试保存这些键。这是一种常见的安全反模式,即阻止已知有害输入(黑名单)的方法看似直观,但实际上比预期更复杂,并且常常留下安全绕过的空间。

在此,Ultimate Member 在用户注册时对提交的元数据检查不足。该插件使用一个名为 is_metakey_banned 的函数来检查用户提交的元数据是否被允许。此函数检查提交的元数据是否出现在被禁止的元数据列表中。如果是,该函数返回 true,用户注册将被阻止。否则,该函数返回 false,用户注册将被允许。

然而,WordPress 接受某些带重音符号的字符作为默认字符。如果用户提交带有重音符号的元数据,is_metakey_banned 函数将无法检测到它们,用户注册将被允许。

CVE-2023-3460 的安全目标

假设

组织安全

Ultimate Member 插件被广泛用于各种环境,从个人小博客到大型电子商务网站。无法对最终用户或网站管理员的信息安全技能做出具体假设。

物理安全

托管 WordPress 网站的服务器通常位于安全的数据中心。对于个人网站,物理安全取决于用户的个人环境。

逻辑安全

假设 Ultimate Member 插件已按照官方说明正确安装和配置。假设 WordPress 网站保持更新,并已采取基本的安全措施。

典型用户

  • 网站管理员:管理插件配置和网站的整体安全。
  • 网站用户:通过 Ultimate Member 插件注册并与网站互动。
  • 开发人员:根据特定需求定制和扩展插件功能。

需要保护的资产

  • B1 用户数据机密性:个人信息和登录凭据。
  • B2 网站完整性:防止未经授权修改网站内容或结构。
  • B3 Ultimate Member 插件的完整性:插件的源代码和功能。

威胁

  • M1 未授权访问:攻击者通过漏洞获得管理员权限。
  • M2 恶意代码注入:通过注入代码修改网站行为。
  • M3 数据泄露:未经授权访问用户的机密数据。
  • M4 声誉损害:网站被入侵对声誉造成的负面影响。

威胁对资产的覆盖

7.5 安全功能

  • F1 安全的角色管理:用于角色和权限管理的稳健机制。
  • F2 输入验证:对提交的数据进行严格检查,以防止恶意数据注入。
  • F3 安全更新和补丁:定期更新插件以修复已知漏洞。
  • F4 培训与意识提升:向管理员和用户宣传最佳安全实践。

典型架构

Web 服务器:

  • 托管 WordPress 网站。
  • 通常是 Linux 机器上的 Apache 或 Nginx 服务器(可能因托管商或管理员偏好而异)。
  • 连接到互联网以允许访问网站。

数据库管理系统(DBMS):

  • 通常是 MySQL 或 MariaDB。
  • 存储 WordPress 网站数据,包括由 Ultimate Member 管理的用户数据。

带有 Ultimate Member 插件的 WordPress:

  • 安装了 WordPress 和 Ultimate Member 插件,用于用户个人资料管理、注册和角色管理。
  • 可能包含其他插件和主题,这些插件和主题可能与 Ultimate Member 交互。

网络与安全:

  • 防火墙和其他网络安全措施以保护服务器。
  • SSL/TLS 以保护客户端与服务器之间的通信。

用户/管理员:

  • 管理并维护 WordPress 网站和 Ultimate Member 插件的网站管理员。
  • 注册并与网站互动的最终用户。

外部服务(可选):

  • 用于通知和账户管理的电子邮件服务。
  • 与社交媒体或其他平台的集成,以实现连接性和扩展功能。

漏洞缓解措施

作为管理员,以下是可以采取的具体措施,以降低与此漏洞相关的风险。

1. 限制可修改的元数据

用户输入验证:在服务器端实施验证,以检查所有用户输入,尤其是修改 wp_capabilities 等元数据的输入。使用正则表达式或验证白名单,而不是黑名单来控制输入。

2. 保护注册表单

CAPTCHA 和速率限制:在注册表单中集成 CAPTCHA 和速率限制,以防止自动化攻击。 客户端检查:虽然仅靠客户端验证不够,但它可以帮助防止自动化攻击并改善用户体验。

3. 日志监控与分析

日志监控:建立日志监控系统,以检测任何可疑的用户角色修改或元数据注入尝试。这可以通过使用日志分析工具来实现。

4. 使用高级 Web 安全解决方案

Web 应用防火墙(WAF):配置 WAF⁴ 以阻止已知和未知攻击,包括恶意代码注入攻击。 入侵检测/防御系统(IDS/IPS)⁵:部署 IDS/IPS 以检测漏洞利用尝试。

5. 权限和角色管理

用户角色审查:定期审查分配给用户的角色,以检测任何异常权限提升。 权限限制:限制默认授予新用户的权限,并要求管理员验证才能分配高级角色,遵循最小权限原则。有关此原则的详细信息,请参见此处。

6. 安全更新和补丁

及时应用更新:定期对插件和 WordPress 本身进行安全更新。

7. 开发人员意识与培训

对开发人员进行前述良好安全实践的培训,并提高他们对错误实现的风险/影响的认识。

漏洞实验

复现

提供了一个 Makefile 来帮助您启动漏洞利用。您可以按如下方式使用它:

  • make up 启动带有所有必要安装的 WordPress。等待一段时间后,它将启动 WordPress 服务器,进行配置,并安装 2.6.5 版本的 Ultimate Member 插件。 然后您可以使用凭据 admin:password 在登录页面登录 WordPress。在用户选项卡中,您可以看到 只有 admin 用户存在。 one_admin

    注意:如果您有 docker-compose 而不是 docker compose,您可以相应地修改 Makefile(变量 DOCKER_COMPOSE= docker-compose)。

然后,您可以启动漏洞利用:

  • make exploit 然后您可以使用漏洞利用提供的凭据在登录页面登录 WordPress,并在用户选项卡中观察到创建了一个具有 Administrator 角色的新用户。

    two_admin

  • make down 停止 WordPress 服务器并删除数据。

exploit.py 详情

  • make exploit 运行 exploit.py 脚本。该脚本分多个步骤执行: 漏洞利用的技术细节

1. 漏洞验证: 在进行利用之前,脚本会检查目标站点上安装的 Ultimate Member 插件版本是否易受攻击,即低于 2.6.7 版本。

2. 获取安全 Nonce: 脚本从目标站点的注册页面获取安全 nonce³。此 nonce 是 WordPress 接受注册请求所必需的。通过分析注册页面的 HTML 代码来获取 nonce。

3. 漏洞利用: 然后,脚本向注册页面提交一个 POST 请求,其中包含一个被操纵的参数(wp_càpabilities[administrator]=1)。此参数使用重音字符(à)来绕过插件的安全检查,并错误地序列化数据,从而将管理员角色分配给新创建的用户。

4. 利用确认: 发送请求后,脚本通过分析服务器响应来检查操作是否成功。

附录

术语表

  1. CVE(通用漏洞与披露):国际计算机安全漏洞索引系统。更多信息。
  2. nvd.nist.gov:计算机安全漏洞的参考数据库。官方网站。
  3. WP_Capabilities:WordPress 中用于管理用户角色和权限的序列化属性。了解有关 WordPress 角色和能力的更多信息,以及如何使用它们。
  4. 安全 Nonce:计算机通信中用于防止某些形式攻击(如 CSRF 攻击)的令牌。详情请见此处。
  5. WAF(Web 应用防火墙):用于监控和过滤 Web 服务器与互联网之间 HTTP 流量的安全工具。深入了解。
  6. IDS/IPS(入侵检测/防御系统):监控网络或系统以检测恶意活动的设备或应用程序。补充说明。
  7. 跨站请求伪造(CSRF):强制已登录用户在 Web 应用上执行非预期操作的攻击。了解更多。

来源

下载工具
威胁B1(用户数据机密性)B2(网站完整性)B3(Ultimate Member 插件完整性)
M1 未授权访问XXX
M2 恶意代码注入XX
M3 数据泄露X
M4 声誉损害X
名称链接
NIST CVE-2023-3460https://nvd.nist.gov/vuln/detail/CVE-2023-3460
Ultimate Member Githubhttps://github.com/ultimatemember/ultimatemember
用于利用的包版本 2.6.5https://wordpress.org/plugins/ultimate-member/advanced/
漏洞补丁https://github.com/ultimatemember/ultimatemember/commit/fae47c6065ce07e9a8b44501002fa5b4f16d2456
漏洞审查https://thesecmaster.com/how-to-fix-cve-2023-3460-a-privilege-escalation-vulnerability-in-ultimate-member-wordpress-plugin/
OWASP Top 10 应用安全风险https://owasp.org/www-project-top-ten/