Java序列化与反序列化漏洞研究
文章平均质量分 96
研究Java序列化与反序列化漏洞,在潜移默化中给各位引入代码审计思路
yuan_boss
网络安全领域知识博主
展开
-
Java序列化与反序列化基础
Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程序列化分为两大部分:序列化和[反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。静态成员变量是不能序列化的,因为序列化是针对对象的,而静态成员变量是属于类的。transient修饰的变量也不能被序列化。原创 2023-08-16 19:44:04 · 88 阅读 · 0 评论 -
URLDNS利用链EXP编写之源码分析
URLDNS链本质就是利用URL中的hashCode方法,其中使用了域名解析。借助HashMap反序列化调用readObject()方法的时候会使用hashCode方法计算hash值,因此我们可以将URL放入HashMap,从而间接的让HashMap反序列化的时候调用URL的hashCode方法。原创 2023-08-14 13:25:41 · 127 阅读 · 0 评论 -
CC1利用链EXP编写之源码分析
经过查找,可以发现类的setValue()方法中调用了checkSetValue()方法,并且setValue()方法可以传入任意参数类型。原创 2023-08-14 13:48:43 · 184 阅读 · 0 评论 -
CC1-LazyMap利用链-源码分析
这个链其实和我上一篇文章的CC1链大致思路是一样的,主要特殊就在于利用了动态代理中自动调用InvocationHandler对象的invoke方法,从而调用到我们可以利用的get()方法。原创 2023-08-15 11:18:39 · 143 阅读 · 0 评论 -
CC6利用链(最好用的CC利用链)--EXP编写思路--源码分析
在这篇文章中,你能更加深刻理解CC利用链,并且能学到更深的EXP编写思路当然如果有CC链基础的师傅可以放心使用。原创 2023-08-16 16:58:30 · 198 阅读 · 0 评论