
Vite 개발 서버의 경로 탐색 취약점인 CVE-2025-31486을 시뮬레이션하고 익스플로잇하기 위한 컨테이너화된 랩 환경으로, 실습 보안 교육을 위한 단계별 지침을 제공합니다.
Vite 개발 서버에서 CVE-2025-31486으로 식별되는 경로 탐색 취약점을 시뮬레이션하고 악용하기 위한 실습형 컨테이너 기반 실습 환경입니다.
이 실습은 최신 웹 개발 빌드 도구인 Vite의 구버전에서 발견된 심각한 경로 탐색 취약점을 보여줍니다. 이 취약점으로 인해 공격자는 Vite 개발 서버의 보안 제한을 우회하고 로컬 파일 시스템에서 임의의 파일을 읽을 수 있습니다.
문제의 핵심은 Vite의 에셋 플러그인이 URL을 처리하는 방식에 있습니다. 공격자는 ?.svg 및 ?.wasm?init과 같은 접미사가 포함된 특수 URL을 만들어 서버가 중요한 보안 검사(특히 server.fs.deny 함수)를 건너뛰도록 속여 /etc/passwd와 같은 민감한 파일에 접근할 수 있습니다.
--host 플래그를 사용하여 네트워크에 노출되어야 합니다.build.assetsInlineLimit(기본값 4KB)보다 작은 파일에 가장 효과적입니다.이 저장소에는 취약한 Vite 서버를 안전하게 실행하고 직접 익스플로잇을 수행하는 데 필요한 모든 것이 포함되어 있습니다. 시뮬레이션은 두 가지 방법으로 실행할 수 있습니다:
몇 초 만에 완전한 클라우드 기반 개발 환경을 얻을 수 있습니다. 로컬 설정이 필요하지 않습니다.
Codespace 시작: 이 README 상단의 "GitHub Codespaces에서 열기" 버튼을 클릭합니다.
설정 대기: GitHub가 클라우드 환경을 준비합니다. 1분 정도 걸릴 수 있습니다. 준비가 완료되면 편집기 하단에 터미널이 나타납니다.
취약한 서버 시작: 터미널에서 다음 단일 명령을 실행합니다:
docker compose up
취약한 Vite 개발 서버가 실행 중이고 접근 가능함을 나타내는 출력이 표시됩니다.
익스플로잇 수행:
+ 아이콘 클릭).자신의 머신에서 실습을 실행하려면 다음 단계를 따르세요.
사전 요구 사항:
지침:
저장소 클론:
git clone https://github.com/hackmelocal/CVE-2025-31486-Simulation.git
cd CVE-2025-31486-Simulation
취약한 서버 시작: 터미널에서 다음 단일 명령을 실행합니다:
docker compose up
이 명령은 Docker 이미지를 빌드하고(아직 빌드되지 않은 경우) 취약한 Vite 서버를 시작합니다.
익스플로잇 수행: