Sploitus

Exploit for CVE-2025-31486-Simulation

kitploit · 2026-09-06

Exploit Code

MARKDOWN85 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-HACKMELOCAL-CVE-2025-31486-SIMULATION
# Vite 路径遍历实验室(CVE-2025-31486)

![在 GitHub Codespaces 中打开](https://github.com/codespaces/badge.svg) ![许可证:MIT](https://img.shields.io/badge/License-MIT-yellow.svg)

一个动手实践的容器化实验室环境,用于模拟并利用 Vite 开发服务器中的路径遍历漏洞,该漏洞编号为 `CVE-2025-31486`。

## 📖 关于该漏洞

本实验室演示了在旧版 **Vite** (一款现代 Web 开发构建工具)中发现的一个严重路径遍历漏洞。该漏洞允许攻击者绕过 Vite 开发服务器中的安全限制,从本地文件系统中读取任意文件。

问题的核心在于 Vite 的静态资源插件处理 URL 的方式。通过构造带有 `?.svg` 和 `?.wasm?init` 等后缀的特殊 URL,攻击者可以诱骗服务器跳过关键的安全检查(特别是 `server.fs.deny` 函数),从而访问 `/etc/passwd` 等敏感文件。

### 利用条件

  * **存在漏洞的 Vite 版本:** 项目必须使用存在漏洞的 Vite 版本。
  * **暴露的开发服务器:** 服务器必须使用 `--host` 标志暴露到网络。
  * **文件大小限制:** 该利用对小于 `build.assetsInlineLimit`(默认值为 4KB)的文件效果最佳,因为 Vite 会将此类文件以 Base64 字符串形式内联到响应中。



* * *

## 🎯 实时模拟实验室

本仓库包含安全运行一个存在漏洞的 Vite 服务器并自行执行该利用所需的一切。你可以通过两种方式运行模拟:

### 方法 1:在 GitHub Codespaces 中运行(推荐)

在几秒钟内获得一个完整的、基于云的开发环境。无需任何本地配置。

  1. **启动 Codespace:** 点击本 README 顶部的“在 GitHub Codespaces 中打开”按钮。 ![在 GitHub Codespaces 中打开](https://github.com/codespaces/badge.svg)

  2. **等待设置:** GitHub 将准备你的云环境。这可能需要一分钟。准备就绪后,编辑器底部会出现一个终端。

  3. **启动存在漏洞的服务器:** 在终端中运行以下单条命令:

root@kitploit:~
         
         docker compose up
         

你将看到输出,表明存在漏洞的 Vite 开发服务器正在运行并且可以访问。

  4. **执行利用:**

     * 在你的 Codespace 中打开一个**新终端** (点击终端面板中的 `+` 图标)。
     * 将下方的一行利用命令复制并粘贴到**新终端** 中,然后按回车键。



### 方法 2:本地运行

如果你更倾向于在自己的机器上运行该实验室,请按照以下步骤操作。

**先决条件:**

  * 已安装 Docker。
  * 已安装 Docker Compose。



**操作步骤:**

  1. **克隆仓库:**

root@kitploit:~
         
         git clone https://github.com/hackmelocal/CVE-2025-31486-Simulation.git
         cd CVE-2025-31486-Simulation
         

  2. **启动存在漏洞的服务器:** 在终端中运行单条命令:

root@kitploit:~
         
         docker compose up
         

该命令将构建 Docker 镜像(如果尚未构建)并启动存在漏洞的 Vite 服务器。

  3. **执行利用:**

     * 打开一个**新的、独立的终端窗口或标签页** 。
     * 将下方的一行利用命令复制并粘贴到**新终端** 中,然后按回车键。