1.利用反序列化漏洞将程序运行的对象以二进制形式储存在文件系统中,在另一个程序中对序列化后的对象状态数据,进行反序列化恢复对象,可以实现多平台通信,对象持久化存储。
2.可以利用payload生成器
或者自定义工具检测
3.检测可以分为黑盒检测和白盒检测
黑河检测又分为(数据格式点)1.HTTP请求中参数
2.自定义协议
3.RMI协议
(特定扫描)
白盒测试又分为(函数点)Object Input stream.read Object
Object Input stream.read Object
XML Decode.read Object
X stream.fromXML
Object Mapper.read value
JSON parse Object
(组件点) 参考ysoserial库
(代码库) RCE执行
数据认证
以及恢复
4.在java中API(接口实现)
位置:java .io.Object Output Stream java.io.Object Input stream
序列化:Object Out Put stream -->write Object()
该参数对指定obj对象进行序列化
反序列化:Object Input stream --> read Object()
从一个源输入流中读取字节序列再把他们反序列化为一个对象,之后将其返回
作为序列化标志的参考。
一段数据以ro0AB开头,确认是Java序列化的base64加密数据
如果以aced开头,那么就是一段java序列化16进制