Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
tomcat-cve-2025-24813-lab — Apache Tomcat CVE-2025-24813의 로컬 재현 랩으로, 취약점의 악용 조건과 AI 지원 검증을 문서화합니다. | Kitploit
도구/GitHubGitHub/mega-starmie/tomcat-cve-2025-24813-lab
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & EducationLabs & Practice
GitHubmega-starmie/tomcat-cve-2025-24813-lab

tomcat-cve-2025-24813-lab

Apache Tomcat CVE-2025-24813의 로컬 재현 랩으로, 취약점의 악용 조건과 AI 지원 검증을 문서화합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Apache Tomcat CVE-2025-24813 로컬 재현 기록

로컬 인가 실험, 패치 이해 및 방어 검증에만 사용하십시오. 인가되지 않은 대상에 요청을 보내지 마십시오.

이 프로젝트는 Apache Tomcat 9.0.98 로컬 인스턴스에서 CVE-2025-24813의 재현 과정을 기록합니다: partial PUT을 사용하여 임시 파일을 작성하고, 파일 기반 Session 영속화가 활성화되고 역직렬화 필터 조건이 느슨한 구성에서 Session 파일 로딩 및 Payload 실행 체인을 검증합니다.

결론 요약

  • 테스트 버전: Apache Tomcat 9.0.98 (스크린샷 및 로컬 실험 기록)
  • 수정 버전: Apache Tomcat 9.0.99
  • 핵심 전제: Default Servlet 쓰기 기능 활성화, partial PUT 사용 가능, 파일 기반 Session 영속화가 기본 위치를 사용, 그리고 애플리케이션 클래스패스에 악용 가능한 역직렬화 클래스 라이브러리가 존재.
  • 본 실험은 먼저 작업 디렉터리에 .inject.session 쓰기 성공을 확인한 후, 접근이 Session 로딩을 트리거하고 Payload를 실행하는지 확인합니다; HTTP 상태 코드만으로 성공을 판단할 수 없습니다.
  • 일부 실험 요청은 409 또는 500을 반환하지만, 파일 쓰기와 후속 트리거는 여전히 파일 내용, 서버 로그 및 통제된 부작용을 결합하여 단계별로 판단해야 합니다.

Apache 공식 보안 공지에는 CVE-2025-24813의 트리거 전제 조건, 영향 범위(Tomcat 9.0.0-M1 ~ 9.0.98) 및 9.0.99 수정 정보가 나열되어 있습니다: https://tomcat.apache.org/security-9

실험 환경

  • Apache Tomcat 9.0.98
  • Java 17 (실험기 실제 실행 버전은 java -version 기준)
  • Linux
  • Python 3, requests
  • 본机 127.0.0.1:8080만 수신

디렉터리 구조

scripts/reproduce_local.py       # 로컬 검증 스크립트, 대상 기본값은 localhost:8080
evidence/                         # 실험 스크린샷 (단계별로 이름 변경됨)

실행 방법

python3 -m venv .venv
. .venv/bin/activate
python -m pip install requests
python scripts/reproduce_local.py

스크립트의 대상은 로컬 실험 주소로 고정되어 있으며 원격 스캔 로직은 포함하지 않습니다. 실행 전 로컬 Tomcat 인스턴스에서 다음을 확인해야 합니다:

  1. Default Servlet의 쓰기 기능이 실험 구성에 따라 활성화되어 있음;
  2. 파일 기반 Session 영속화가 활성화되어 있음;
  3. 대상 애플리케이션에 실험에 필요한 클래스 라이브러리가 포함되어 있음;
  4. 서버 로그 디렉터리와 work/Catalina/localhost/ROOT를 관찰할 수 있음.

검증 요점

  1. PUT /inject/session에 Content-Range를 포함하여 임시 파일이 생성되는지 관찰;
  2. work/Catalina/localhost/ROOT/.inject.session의 크기와 내용 확인;
  3. JSESSIONID=.inject를 사용하여 통제된 로컬 페이지에 접근하고 Session 파일 로딩 관찰;
  4. Tomcat 로그와 실험 부작용을 결합하여 Payload 실행 여부 확인;
  5. HTTP 응답, 파일 상태 및 로그 결과를 각각 기록하여 409/500을 취약점 재현 실패 또는 성공으로 직접 간주하지 않도록 함.

요청 형식 주의사항

HTTP 헤더는 반드시 실제 CRLF(바이트 0d 0a)를 사용해야 하며, 0x0d0x0a를 가시 텍스트로 전송하지 마십시오. Python에서는 b"\\r\\n"을 사용하거나 requests가 요청 헤더를 구성하도록 해야 합니다.

방어 및 수정 검증

수정 사항이 포함된 Tomcat 버전으로 우선 업그레이드하고, Default Servlet 쓰기 권한, partial PUT 사용 시나리오 및 Session 영속화 필터 구성을 다시 점검하십시오. 수정 후 동일한 로컬 검증 단계를 반복하면 임시 파일 쓰기 경로 또는 Session 로딩 경로가 더 이상 성립하지 않을 것으로 예상됩니다.

면책 조항

이 저장소는 인터넷 대상 스캔, 영속화 또는 대량 악용 기능을 제공하지 않습니다. 모든 내용은 본인이 통제하는 로컬 실험 환경과 명시적으로 인가된 훈련장으로 제한됩니다.

도구 다운로드