Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ysoserial-modified — 该仓库包含我对知名的 Java 反序列化漏洞利用工具 ysoserial 的更新。 | Kitploit
工具/GitHubGitHub/pimps/ysoserial-modified
渗透测试框架漏洞利用框架Web应用程序漏洞利用Payload 开发
GitHubpimps/ysoserial-modified

ysoserial-modified

该仓库包含我对知名的 Java 反序列化漏洞利用工具 ysoserial 的更新。

查看仓库
1894054年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ysoserial-modified

这是原始 ysoserial 应用程序的一个分支,可在此处找到:https://github.com/frohoff/ysoserial

修改说明

由于 Runtime.getRuntime().exec(String.class) 在 Java 中的工作方式,当你需要控制管道或将输出发送到文件(例如 cat /etc/passwd > /tmp/passwd_copy)时,嵌套和复杂命令将无法正常工作,因为 Runtime 类的 exec() 方法执行的命令不是在终端环境中执行的。一种可行的变通方法是执行 "/bin/sh -c 'command'",但你需要使用 ${IFS} 转义 'command' 中的空格字符,否则无法按预期工作。关于该问题及可能的解决方法的更多详细信息,请阅读这篇博客文章,其中会深入介绍细节。

解决该问题的一个好方法是将参数传递给 Runtime.getRuntime().exec(String[].class) 方法,该方法期望一个字符串数组。最佳选择是执行:Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", "command"})。以这种方式传递参数,Java 会理解你正在执行 /bin/bash,并以正确的方式传递参数 -c 和 'command',并将在终端环境中执行你的命令,从而允许你使用嵌套或复杂命令(带 | 或 ;),也能控制输入和输出(带 < 和 >)。

基于此,我给 ysoserial 添加了一个功能:你可以指定要用于执行命令的终端类型(cmd / bash / powershell 或 none),我的修改将在该终端上下文中执行你的命令,从而允许你执行任何复杂命令,就像它本应正常工作那样!

用法

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

下载 / 安装

从此仓库的 /target 目录下载编译好的 jar,或直接点击此处

自行编译:

需要 Java 1.7+ 和 Maven 3.x+

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

jar 文件将位于 target 目录中。

下载工具