# CVE-2024-7703 漏洞利用:通过 SVG 文件上传在 ARMember WordPress 插件中实现存储型跨站脚本(XSS)攻击
## 概述
本仓库包含针对编号为 **CVE-2024-7703** 的漏洞的概念验证(PoC)漏洞利用代码。该漏洞影响 [ARMember WordPress 插件](https://wordpress.org/plugins/armember/),具体而言,4.0.37 及更早版本均受影响。该漏洞允许拥有订阅者(Subscriber)级别或更高访问权限的已认证攻击者通过上传恶意 SVG 文件来实施存储型跨站脚本(XSS)攻击。
**摘要**:
WordPress 的 ARMember – Membership Plugin, Content Restriction, Member Levels, User Profile & User signup 插件在所有 4.0.37 及更早版本中,由于输入清理和输出转义不足,存在通过 SVG 文件上传导致的存储型跨站脚本(XSS)漏洞。这使得拥有订阅者(Subscriber)级别及以上访问权限的已认证攻击者能够在页面中注入任意 Web 脚本,当用户访问该 SVG 文件时,脚本即会执行。
## 详细信息
- **漏洞编号**:CVE-2024-7703
- **插件**:ARMember - Membership Plugin, Content Restriction, Member Levels, User Profile & User signup
- **受影响版本**:4.0.37 及更早版本
- **类型**:存储型跨站脚本(XSS)
- **危害等级**:高
- **访问向量**:网络
- **所需权限**:订阅者(Subscriber)级别或更高
- **影响**:可执行任意 JavaScript 代码,可能导致会话劫持、数据窃取以及其他恶意操作。
## 前提条件
要利用此漏洞,你需要:
- 能够访问一个至少具有 **订阅者(Subscriber)** 权限的 WordPress 账户。
- 目标 WordPress 站点上安装了受影响版本的 ARMember 插件。
- 一个 HTTP 代理工具,例如 [Burp Suite](https://portswigger.net/burp)。
## 使用方法
### 1. 克隆仓库
```bash
git clone https://github.com/lfillaz/CVE-2024-7703.git
cd CVE-2024-7703
Payload 是一个包含内嵌 JavaScript 的恶意 SVG 文件。当该 SVG 文件上传到存在漏洞的 WordPress 站点后,一旦文件被查看,其中的脚本就会执行。
以下是 Payload 的示例:
<svg xmlns="http://www.w3.org/2000/svg">
<script>alert('XSS Attack!');</script>
</svg>
你可以修改 <script> 标签中的 JavaScript 来执行不同的操作,例如窃取 Cookie、重定向用户或注入额外的脚本。
登录 WordPress:
使用你的订阅者(Subscriber)级别(或更高)凭据登录目标 WordPress 站点。
捕获文件上传请求:
发送修改后的请求:
触发 Payload:
为了缓解此漏洞,强烈建议用户:
此漏洞利用代码仅用于教育和测试目的。未经授权将本代码用于你没有明确测试权限的系统是非法且不道德的行为。作者不对任何滥用本代码的行为负责。
我希望这能帮助你享受