![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java反序列化
文章平均质量分 97
Java反序列化链条分析
安全知识搬运工
这个作者很懒,什么都没留下…
展开
-
Java反序列化(三)——CC6、CC3
问题2解决:其实从这里的代码逻辑上看,只要superClass.getName().equals(ABSTRACT_TRANSLET)成立,_transletIndex就会赋值为i(>0),这样就不会走_auxClasses的逻辑,下面原创 2024-08-14 17:03:00 · 921 阅读 · 0 评论 -
Java反序列化(二)——URLDNS链、CC1链
MapEntry这一种类来说,当Map遍历Entry(一个键值对)时,其底层就会将Map封装进MapEntry中,所以只需要遍历TransformedMap的Entry,并在遍历的过程中调用setValue,就能进入TransformedMap.checkSetValue(Object)中。而在遍历时,利用的是第一个参数Map,所以需要put个键值对进去,这样在遍历是才会非空,进入循环的逻辑里。原创 2024-08-13 16:57:34 · 981 阅读 · 0 评论 -
Java反序列化(一)——基础知识
Java程序在运行钱需要先编译成.class文件,这个文件的内容被称为字节码,然后调用加载字节码,每一个类都会在方法区保存一份它的元数据,在堆中创建一个与之对应的Class对象。类的生命周期,经历7个阶段,分别是加载、验证、准备、解析、初始化、使用、卸载。除了使用和卸载两个过程,前面的5个阶段加载、验证、准备、解析、初始化的执行过程就是类的加载过程。验证、准备、解析合成为连接过程。原创 2024-08-10 22:27:43 · 710 阅读 · 0 评论