Skip to content
KitploitKITPLOIT
OutilsBlog
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
CVE-2017-5638 — Ce script est destiné à valider la vulnérabilité Apache Struts 2 (CVE-2017-5638), alias Struts-Shock. | Kitploit
Outils/GitHubGitHub/readloud/cve-2017-5638
Scanners de VulnérabilitésGénération de PayloadsExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubreadloud/cve-2017-5638

CVE-2017-5638

Ce script est destiné à valider la vulnérabilité Apache Struts 2 (CVE-2017-5638), alias Struts-Shock.

Voir le dépôt
1il y a 4 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

CVE-2017-5638

Ce script est destiné à valider la vulnérabilité Apache Struts 2 (CVE-2017-5638), également connue sous le nom de Struts-Shock. Il est totalement inoffensif car il n'injecte aucun payload malveillant, il injecte uniquement un en-tête HTTP nommé 'STRUTS2-VALIDATION' afin de pouvoir valider si la cible est vulnérable.

Grâce à sa capacité de multithreading, il est capable de tester 2.5k+ applications réparties dans le monde entier en moins de 10 minutes. Il peut donc être très pratique pour valider des applications d'entreprise à grande échelle.

cve-2017-5638

cve-2017-5638 Exemple de site vulnérable

Ce projet vise à démontrer l'exploitation de la CVE-2017-5638 à des fins éducatives. Pour plus d'informations, voir https://cwiki.apache.org/confluence/display/WW/S2-045

Avertissement légal

Ce projet est réalisé uniquement à des fins éducatives et de tests éthiques. Attaquer des cibles sans consentement mutuel préalable est illégal. Il est de la responsabilité de l'utilisateur final de respecter toutes les lois locales, nationales et fédérales applicables. Les développeurs déclinent toute responsabilité et ne sont pas responsables de tout usage abusif ou dommage causé par ce programme.

Pour commencer

  1. Démarrez le conteneur Docker :

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

  1. Téléchargez le script d'exploitation sur la machine de l'attaquant ici

  2. Exécutez le script d'exploitation Python depuis la machine de l'attaquant :

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

Utilisation

Il existe deux façons d'exécuter ce script : avec et sans multithreading. La seule différence sera le temps d'exécution. Pour activer le multithreading, il suffit de passer le paramètre thread. Le premier paramètre doit être un fichier TXT contenant toutes les URL ciblées, une par ligne. Veuillez noter que ces URL doivent être complètes, par exemple, https://target.com/admin/myStrutsPage.action

Voici un exemple d'utilisation sans multithreading :

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

Maintenant, avec la prise en charge des threads :

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

Module d'exploitation Metasploit Framework pour l'exploit Apache Struts de type Content-Type Non testé sur un serveur Windows, mais testé sur un serveur Linux avec le payload generic/shell_bind_tcp

CVE-2017-5638 Code PoC en Python | DORK: ext:action

Exemple de code PoC pour CVE-2017-5638 | Exploit Apache Struts | DORK: ext:action

UTILISATION : python struts.py https://victim.site dir

Le script Python initial qui a été publié ne formatait pas correctement l'en-tête Content-Type. J'ai recodé l'en-tête Content-Type pour formater correctement Content-Type:%20{Exploit}. J'ai également ajouté une journalisation et Requests, puis affiché les propriétés de l'objet sur stdout.

EXEMPLE DE SORTIE

Vérification de CVE-2017-5638 par XSS.Cx

Le volume du lecteur D n'a pas d'étiquette. Le numéro de série du volume est 2A7B-A245. Répertoire de d:\Program Files\Apache Software Foundation\Tomcat 9.0

CVE-2017-5638

Table des matières

  1. Aperçu
  2. Dépendances
  3. Utilisation

Aperçu

Ce projet est une preuve de concept pour la vulnérabilité Apache Struts. L'objectif était de créer un logiciel capable de générer et de tester des adresses IP aléatoires pour la vulnérabilité décrite ci-dessus.

Utilisez ce projet à vos propres risques et uniquement à des fins éducatives.

Dépendances

  • cURL

    • cURL est utilisé pour envoyer l'en-tête forgé à une adresse IP donnée sur un port donné.
  • Nmap

    • Nmap est utilisé pour générer les adresses IP aléatoires qui disposent d'un port 80 ou 443 ouvert.

Utilisation

Générer des adresses IP aléatoires et les enregistrer dans un fichier texte.

root@kitploit:~
./get_ip.sh [Number of hosts to scan] [What port to scan] [Filename to write output]
root@kitploit:~
./get_ip.sh 10000 80 output.txt

Vérifier la vulnérabilité d'une adresse IP spécifique.

root@kitploit:~
./struts_check.sh [ip address] [port]
root@kitploit:~
./struts_check.sh 127.0.0.1 80

Vérifier la vulnérabilité d'une liste d'adresses IP.

root@kitploit:~
./main.sh [Text file containing IP adresses] [Port]
root@kitploit:~
./main.sh output.txt 443

Exécuter une commande sur un serveur sans le correctif de vulnérabilité Apache Struts

root@kitploit:~
./struts_attack.sh [IP Adres] [Command]
root@kitploit:~
./struts_attack.sh https://127.0.0.1 whoami

# CVE-2017-5638 Code PoC en Python | DORK: ext:action
Exemple de code PoC pour CVE-2017-5638 | Exploit Apache Struts | DORK: ext:action

UTILISATION : python struts.py https://victim.site dir

Le script Python initial qui a été publié ne formatait pas correctement l'en-tête Content-Type.
J'ai recodé l'en-tête Content-Type pour formater correctement Content-Type:%20{Exploit}.
J'ai également ajouté une journalisation et Requests, puis affiché les propriétés de l'objet sur stdout.

EXEMPLE DE SORTIE

Vérification de CVE-2017-5638 par XSS.Cx

Le volume du lecteur D n'a pas d'étiquette.
Le numéro de série du volume est 2A7B-A245.
Répertoire de d:\Program Files\Apache Software Foundation\Tomcat 9.0

## Résultats
Il créera automatiquement un dossier nommé results, et à chaque exécution, il créera un dossier daté contenant le résultat de l'exécution. Si le multithreading est activé, il créera un fichier par thread nommé thread_<number>, qui peut être ignoré car, une fois l'exécution terminée, il consolidera les résultats de tous les threads dans un seul fichier TXT portant le même nom (date/horodatage) que son dossier d'exécution.
Télécharger l’outil