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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2017-5638 — 이 스크립트는 Apache Struts 2 취약점(CVE-2017-5638), 일명 Struts-Shock을 검증하기 위한 것입니다. | Kitploit
도구/GitHubGitHub/readloud/cve-2017-5638
Vulnerability ScannersPayload GenerationExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubreadloud/cve-2017-5638

CVE-2017-5638

이 스크립트는 Apache Struts 2 취약점(CVE-2017-5638), 일명 Struts-Shock을 검증하기 위한 것입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2017-5638

이 스크립트는 Apache Struts 2 취약점(CVE-2017-5638), 일명 Struts-Shock을 검증하기 위한 것입니다. 악성 페이로드를 주입하지 않고 오직 'STRUTS2-VALIDATION'이라는 HTTP 헤더만 주입하여 취약한지 여부를 검증할 수 있으므로 완전히 무해합니다.

멀티스레드 기능 덕분에 전 세계에 분산된 2.5k개 이상의 애플리케이션을 10분 이내에 실행할 수 있습니다. 따라서 대규모 엔터프라이즈 애플리케이션을 검증하는 데 매우 유용합니다.

cve-2017-5638

cve-2017-5638 취약한 사이트 샘플

이 프로젝트는 교육 목적으로 CVE-2017-5638 악용을 시연하기 위한 것입니다. 자세한 내용은 https://cwiki.apache.org/confluence/display/WW/S2-045를 참조하세요.

법적 고지

이 프로젝트는 교육 및 윤리적 테스트 목적으로만 제작되었습니다. 사전 상호 동의 없이 대상을 공격하는 것은 불법입니다. 모든 해당 지역, 주 및 연방 법률을 준수할 책임은 최종 사용자에게 있습니다. 개발자는 어떠한 책임도 지지 않으며 이 프로그램으로 인해 발생한 오용이나 피해에 대해 책임지지 않습니다.

시작하기

  1. Docker 컨테이너를 시작합니다:

docker run -d -p 8080:8080 jrrdev/cve-2017-5638:latest

  1. 공격자 머신에 익스플로잇 스크립트를 여기에서 다운로드합니다.

  2. 공격자 머신에서 Python 익스플로잇 스크립트를 실행합니다:

python exploit.py http://<DOCKER_HOST>:8080/hello "ls -l"

사용법

이 스크립트를 실행하는 방법은 스레딩 사용 여부에 따라 두 가지가 있으며, 유일한 차이는 실행 시간입니다. 스레딩 기능을 활성화하려면 thread 매개변수를 전달하기만 하면 됩니다. 첫 번째 매개변수는 줄당 하나씩 모든 대상 URL을 포함하는 TXT 파일이어야 합니다. 이러한 URL은 완전해야 합니다(예: https://target.com/admin/myStrutsPage.action).

스레딩이 없는 사용 예는 다음과 같습니다:

root@kitploit:~
struts-shock-validation.py target_urls.txt

이제 스레드 기능을 사용하는 경우:

root@kitploit:~
struts-shock-validation.py target_urls.txt thread

CVE-2017-5638

http://struts.apache.org/docs/s2-016.html https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017

Apache Struts Content-Type 취약점을 위한 Metasploit Framework 익스플로잇 모듈 Windows 서버에서는 테스트하지 않았지만 generic/shell_bind_tcp 페이로드를 사용하여 Linux 서버에서 테스트했습니다.

CVE-2017-5638 Python PoC 코드 | DORK: ext:action

CVE-2017-5638용 예제 PoC 코드 | Apache Struts 익스플로잇 | DORK: ext:action

사용법: python struts.py https://victim.site dir

게시된 초기 Python 스크립트는 Content-Type 헤더를 올바르게 형식화하지 않았습니다. Content-Type:%20{Exploit}을 올바르게 형식화하도록 Content-Type 헤더를 다시 코딩했습니다. 또한 로깅과 Requests를 추가하고 객체 속성을 stdout으로 덤프했습니다.

샘플 출력

Check for CVE-2017-5638 by XSS.Cx

Volume in drive D has no label. Volume Serial Number is 2A7B-A245 Directory of d:\Program Files\Apache Software Foundation\Tomcat 9.0

결과

자동으로 results라는 폴더를 생성하며, 각 실행 시 실행 결과를 포함하는 날짜가 표시된 폴더를 생성합니다. 스레딩이 활성화된 경우 thread_라는 이름의 스레드별 파일을 생성하는데, 실행이 완료되면 모든 스레드 결과를 실행 폴더와 동일한 이름(날짜/타임스탬프)의 단일 TXT 파일로 통합하므로 무시해도 됩니다.

도구 다운로드