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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2024-38819-lab — CVE-2024-38819 Spring Framework 경로 탐색 취약점을 시연하는 실습형 랩입니다. 취약한 Spring Boot 배포와 패치된 Spring Boot 배포를 통해 보안 교육을 제공합니다. | Kitploit
도구/GitHubGitHub/trevorputbrese/cve-2024-38819-lab
Vulnerability AnalysisWeb Application ExploitationWeb SecurityMisconfigurationLearning & EducationLabs & Practice
GitHubtrevorputbrese/cve-2024-38819-lab

cve-2024-38819-lab

CVE-2024-38819 Spring Framework 경로 탐색 취약점을 시연하는 실습형 랩입니다. 취약한 Spring Boot 배포와 패치된 Spring Boot 배포를 통해 보안 교육을 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-38819 고객 금고 실습 환경

이는 CVE-2024-38819에 대한 Cloud Foundry 준비 Spring Boot 데모입니다. 이 취약점은 기능적 정적 리소스 처리에서의 Spring Framework 경로 탐색 취약점입니다.

무엇이 패치되었나요?

CVE-2024-38819는 Spring Framework에서 패치되었으며, Spring Boot에서 직접 패치된 것은 아닙니다.

Spring Boot는 애플리케이션이 사용하는 Spring Framework 종속성 버전을 관리하기 때문에 데모에서 여전히 중요합니다. 즉, Spring Boot 유지 관리 릴리스가 수정된 Framework 버전을 가져올 수 있지만, 취약한 코드 경로와 보안 수정은 Spring Framework의 WebFlux/WebMvc 기능적 정적 리소스 처리에 있습니다.

앱은 작은 고객 문서 금고 UI를 제공합니다. 공개 문서는 FileSystemResource와 함께 WebFlux.fn RouterFunctions.resources(...)를 사용하여 /files/**에서 제공되며, 이는 Spring 권고의 취약한 조건과 일치합니다. 시작 시 앱은 다음을 생성합니다:

  • 공개 문서 디렉토리
  • 해당 공개 디렉토리 외부의 가상 비밀
  • 트래버설을 증명하는 요청에 사용되는 심볼릭 링크

비밀은 앱에서 생성되며 실제 자격 증명을 포함하지 않습니다.

버전

이 실습 환경은 의도적으로 두 모드 모두에서 Spring Boot를 3.3.4로 유지하고 관리되는 Spring Framework 버전만 변경합니다:

모드Spring BootSpring Framework아티팩트
취약3.3.46.1.13target/cve-2024-38819-vulnerable.jar
패치됨3.3.46.1.14target/cve-2024-38819-patched.jar

patched Maven 프로파일은 다음을 설정합니다:

root@kitploit:~
<spring-framework.version>6.1.14</spring-framework.version>

해당 프로파일이 없으면 Spring Boot 3.3.4는 Spring Framework 6.1.13을 관리하며, 이는 데모에 사용된 취약한 버전입니다.

빌드 아티팩트

두 데모 아티팩트를 빌드하세요:

root@kitploit:~
scripts/build-artifacts.sh

이 명령은 두 개의 별도 배포 가능 jar를 생성합니다:

root@kitploit:~
target/cve-2024-38819-vulnerable.jar
target/cve-2024-38819-patched.jar

로컬 실행

root@kitploit:~
mvn spring-boot:run

열기:

root@kitploit:~
http://127.0.0.1:8080

제한된 증명 실행:

root@kitploit:~
python3 scripts/prove-secret-exposure.py --expect vulnerable

예상 취약 결과:

root@kitploit:~
RESULT: vulnerable behavior confirmed. The fake secret was served from outside the public file root.

패치된 모드 실행:

root@kitploit:~
mvn -Ppatched spring-boot:run

그런 다음:

root@kitploit:~
python3 scripts/prove-secret-exposure.py --expect patched

Cloud Foundry

취약 버전 푸시:

root@kitploit:~
scripts/cf-push-vulnerable.sh

이 명령은 target/cve-2024-38819-vulnerable.jar를 patch-your-spring-vulnerable로 배포합니다.

앱 라우트에 대해 증명 실행:

root@kitploit:~
python3 scripts/prove-secret-exposure.py \
  --target https://YOUR-VULNERABLE-ROUTE \
  --allow-remote-demo \
  --expect vulnerable

패치된 버전 푸시:

root@kitploit:~
scripts/cf-push-patched.sh

이 명령은 target/cve-2024-38819-patched.jar를 patch-your-spring-patched로 배포합니다.

동일한 증명 실행:

root@kitploit:~
python3 scripts/prove-secret-exposure.py \
  --target https://YOUR-PATCHED-ROUTE \
  --allow-remote-demo \
  --expect patched

정리:

root@kitploit:~
cf delete patch-your-spring-vulnerable -f -r
cf delete patch-your-spring-patched -f -r

참고 자료

  • Spring 권고: https://spring.io/security/cve-2024-38819/
  • 공개 PoC 형태: https://github.com/masa42/CVE-2024-38819-POC
  • GitHub 권고: https://github.com/advisories/GHSA-g5vr-rgqm-vf78
도구 다운로드