一个动手实践的容器化实验室环境,用于模拟并利用 Vite 开发服务器中的路径遍历漏洞,该漏洞编号为 CVE-2025-31486。
本实验室演示了在旧版 Vite(一款现代 Web 开发构建工具)中发现的一个严重路径遍历漏洞。该漏洞允许攻击者绕过 Vite 开发服务器中的安全限制,从本地文件系统中读取任意文件。
问题的核心在于 Vite 的静态资源插件处理 URL 的方式。通过构造带有 ?.svg 和 ?.wasm?init 等后缀的特殊 URL,攻击者可以诱骗服务器跳过关键的安全检查(特别是 server.fs.deny 函数),从而访问 /etc/passwd 等敏感文件。
--host 标志暴露到网络。build.assetsInlineLimit(默认值为 4KB)的文件效果最佳,因为 Vite 会将此类文件以 Base64 字符串形式内联到响应中。本仓库包含安全运行一个存在漏洞的 Vite 服务器并自行执行该利用所需的一切。你可以通过两种方式运行模拟:
在几秒钟内获得一个完整的、基于云的开发环境。无需任何本地配置。
等待设置: GitHub 将准备你的云环境。这可能需要一分钟。准备就绪后,编辑器底部会出现一个终端。
启动存在漏洞的服务器: 在终端中运行以下单条命令:
docker compose up
你将看到输出,表明存在漏洞的 Vite 开发服务器正在运行并且可以访问。
执行利用:
+ 图标)。如果你更倾向于在自己的机器上运行该实验室,请按照以下步骤操作。
先决条件:
操作步骤:
克隆仓库:
git clone https://github.com/hackmelocal/CVE-2025-31486-Simulation.git
cd CVE-2025-31486-Simulation
启动存在漏洞的服务器: 在终端中运行单条命令:
docker compose up
该命令将构建 Docker 镜像(如果尚未构建)并启动存在漏洞的 Vite 服务器。
执行利用: