java反序列化终极工具_检测java反序列化漏洞

java反序列化终极测试工具是一款检测java反序列化漏洞工具,直接将Jboss、Websphere和weblogic的反序列化漏洞的利用集成到了一起。java反序列化漏洞已经被曝出一段时间了,其强大的破坏力让我们防不胜防!有没有合理的方法扫描、解决这些漏洞呢?

fb730f002e9e3c1b13018a7989742542.png

产生原因:

在java编写的web应用与web服务器间java通常会发送大量的序列化对象例如以下场景:

HTTP请求中的参数,cookies以及Parameters。

RMI协议,被广泛使用的RMI协议完全基于序列化

JMX 同样用于处理序列化对象

自定义协议 用来接收与发送原始的java对象

在序列化过程中会使用ObjectOutputStream类的writeObject()方法,在接收数据后一般又会采用ObjectInputStream类的readObject()方法进行反序列化读取数据。

上述代码中的java类ObjectInputStream在执行反序列化时并不会对自身的输入进行检查,意味着一种可能性,即恶意攻击者构建特定的输入,在ObjectInputStream类反序列化之后会产生非正常结果。而根据最新的研究,利用这一方法可以实现远程执行任意代码。

为了进一步说明,可以针对对上述代码进行了一点修改:

主要修改为自定义了一个被序列化的对象myobject,通过定义myobject实现了java序列化的接口并且定义了一种名为“readObject”的方法。通过对比上面例子的输出,可以发现反序列化的相关数值被修改了,即执行的用户自身的代码。造成结果不同的关键在于readObject方法,java在读取序列化对象的时候会先查找用户自定义的readObject是否存在,如果存在则执行用户自定义的方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值