JAVA反序列化

本文探讨了如何利用反序列化漏洞在Java中存储和恢复对象,涉及payload生成、不同检测方法(HTTP请求、自定义协议等)、白盒测试中的函数点和组件点,以及API接口如ObjectOutputStream和ObjectInputstream在序列化和反序列化中的角色。还提到了Java序列化的识别标志和RCE执行的风险。
摘要由CSDN通过智能技术生成


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进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值