Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ysoserial-modified — Dieses Repository enthält meine Aktualisierungen für das bekannte Java-Deserialisierungs-Exploitation-Tool ysoserial. | Kitploit
Tools/GitHubGitHub/pimps/ysoserial-modified
Penetrationstest-FrameworksExploit-FrameworksWebanwendungs-ExploitationPayload-Entwicklung
GitHubpimps/ysoserial-modified

ysoserial-modified

Dieses Repository enthält meine Aktualisierungen für das bekannte Java-Deserialisierungs-Exploitation-Tool ysoserial.

Repository anzeigen
18940vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ysoserial-modified

Das ist ein Fork der ursprünglichen ysoserial-Anwendung, die du hier finden kannst: https://github.com/frohoff/ysoserial

Beschreibung der Modifikation

Dadurch, wie Runtime.getRuntime().exec(String.class) in Java funktioniert, sind verschachtelte und komplexe Befehle, bei denen du Pipes steuern oder die Ausgabe in Dateien umleiten musst (z. B. cat /etc/passwd > /tmp/passwd_copy), nicht möglich, da der von der exec()-Methode der Runtime-Klasse ausgeführte Befehl nicht in einer Terminal-Umgebung ausgeführt wird. Ein möglicher Hack besteht darin, "/bin/sh -c 'command'" auszuführen, aber du musst das Leerzeichen im 'command' mit ${IFS} escapen, sonst funktioniert es nicht wie erwartet. Weitere Details zu diesem Problem und möglichen Workarounds findest du in diesem Blogpost, der tief auf die Details eingeht.

Eine gute Lösung, um dieses Problem zu beheben, besteht darin, die Argumente an die Methode Runtime.getRuntime().exec(String[].class) zu übergeben, die ein Array von Strings erwartet. Am besten führst du Folgendes aus: Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", "command"}). Wenn du die Argumente auf diese Weise übergibst, versteht Java, dass du /bin/bash mit den Argumenten -c und 'command' auf die richtige Weise ausführst, und führt deinen Befehl in einer Terminal-Umgebung aus. Dadurch kannst du verschachtelte oder komplexe Befehle (mit | oder ;) verwenden und auch Ein- und Ausgaben steuern (mit < und >).

Vor diesem Hintergrund habe ich ysoserial eine Funktionalität hinzugefügt, bei der du die Art des Terminals angibst, das du zur Ausführung deines Befehls verwenden möchtest (cmd / bash / powershell oder none). Meine Modifikation führt deinen Befehl dann in diesem Terminalkontext aus, sodass du jeden komplexen Befehl so ausführen kannst, wie er funktionieren soll!

Verwendung

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 []
...

Download / Installation

Lade das kompilierte JAR aus dem /target-Verzeichnis dieses Repositorys herunter oder klicke einfach hier.

Um es selbst zu kompilieren:

Erforderlich sind Java 1.7+ und Maven 3.x+.

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

Die JAR-Datei befindet sich danach im target-Verzeichnis.

Tool herunterladen