Java 二次反序列化学习

原文英文,约1000词,阅读约需4分钟。发表于:

Java 二次反序列化学习。

SignedObject是Java中用于创建真实运行时对象的类。它包含一个getObject()方法,可以反序列化对象并获取内容。可以利用SignedObject的反序列化漏洞,构造恶意类来执行恶意操作。在调用getObject()方法时,需要找到调用链,其中涉及到的类有EqualsBean、ToStringBean和ObjectBean。EqualsBean利用Hashtable来触发equals方法,然后调用beanEquals方法。文章还介绍了其他几个利用二次反序列化漏洞的示例。总结来说,SignedObject的二次反序列化漏洞可以绕过黑名单,但不能绕过URLClassLoader.loadClass()方法。

相关推荐 去reddit讨论