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
ysoserial-modified — Ce dépôt contient mes mises à jour du célèbre outil d'exploitation de désérialisation Java ysoserial. | Kitploit
Outils/GitHubGitHub/pimps/ysoserial-modified
Frameworks de Tests d'IntrusionFrameworks d'ExploitationExploitation d'Applications WebDéveloppement de Charges Utiles
GitHubpimps/ysoserial-modified

ysoserial-modified

Ce dépôt contient mes mises à jour du célèbre outil d'exploitation de désérialisation Java ysoserial.

Voir le dépôt
189405il y a 4 ansVérifié par Kitploit

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

ysoserial-modified

Il s'agit d'un fork de l'application ysoserial originale que vous trouverez ici : https://github.com/frohoff/ysoserial

Description de la modification

En raison du fonctionnement de Runtime.getRuntime().exec(String.class) en Java, les commandes imbriquées et complexes où vous avez besoin de contrôler les pipes ou d'envoyer la sortie vers des fichiers (ex : cat /etc/passwd > /tmp/passwd_copy) ne fonctionneront pas, car la commande exécutée par la méthode exec() de la classe Runtime n'est pas exécutée dans un environnement terminal. Un contournement possible est d'exécuter "/bin/sh -c 'command'" mais vous devrez échapper le caractère espace dans la 'command' en utilisant ${IFS} sinon cela ne fonctionnera pas comme prévu. Pour plus de détails sur ce problème et les contournements possibles, veuillez lire ce billet de blog qui approfondit les détails.

Une bonne solution pour résoudre ce problème est de passer les arguments à la méthode Runtime.getRuntime().exec(String[].class) qui attend un tableau de chaînes de caractères. La meilleure option est d'exécuter ce qui suit : Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", "command"}). En passant les arguments de cette manière, Java comprendra que vous exécutez /bin/bash en lui passant les arguments -c et 'command' de la bonne façon et exécutera votre commande dans un environnement terminal, ce qui vous permettra d'utiliser des commandes imbriquées ou complexes (avec | ou ;) et aussi de contrôler les entrées et sorties (avec < et >).

Sachant cela, j'ai ajouté une fonctionnalité à ysoserial où vous indiquez le type de terminal que vous souhaitez utiliser pour exécuter votre commande (cmd / bash / powershell ou none) et ma modification exécutera votre commande dans ce contexte terminal, vous permettant d'exécuter n'importe quelle commande complexe comme elle devrait fonctionner !

Utilisation

root@kitploit:~
pimps@Scorpion:~/git/ysoserial-modified/target$ java -jar ysoserial-modified.jar 
Y SO SERIAL?
Usage: java -jar ysoserial-[version]-all.jar [payload type] [terminal type: cmd / bash / powershell / none] '[command to execute]'
   ex: java -jar ysoserial-[version]-all.jar CommonsCollections5 bash 'touch /tmp/ysoserial'
	Available payload types:
		BeanShell1 [org.beanshell:bsh:2.0b5]
		C3P0 [com.mchange:c3p0:0.9.5.2, com.mchange:mchange-commons-java:0.2.11]
		CommonsBeanutils1 [commons-beanutils:commons-beanutils:1.9.2, commons-collections:commons-collections:3.1, commons-logging:commons-logging:1.2]
		CommonsCollections1 [commons-collections:commons-collections:3.1]
		CommonsCollections2 [org.apache.commons:commons-collections4:4.0]
		CommonsCollections3 [commons-collections:commons-collections:3.1]
		CommonsCollections4 [org.apache.commons:commons-collections4:4.0]
		CommonsCollections5 [commons-collections:commons-collections:3.1]
		CommonsCollections6 [commons-collections:commons-collections:3.1]
		FileUpload1 [commons-fileupload:commons-fileupload:1.3.1, commons-io:commons-io:2.4]
		Groovy1 [org.codehaus.groovy:groovy:2.3.9]
		Hibernate1 []
...

Téléchargement / Installation

Téléchargez le jar compilé depuis le répertoire /target de ce dépôt ou simplement cliquez ici

Pour le compiler vous-même :

Requiert Java 1.7+ et Maven 3.x+

root@kitploit:~
$ git clone https://github.com/pimps/ysoserial-modified.git
$ cd ysoserial-modified
$ mvn clean package -DskipTests

Le fichier jar sera situé dans le répertoire target.

Télécharger l’outil