└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | # JavaDeserialization
2 | java反序列化学习笔记
3 |
4 | # 说明
5 | 我这里只写重点,想学的建议自己debug过一遍。
6 | 反序列学习路径推荐:
7 | http://scz.617.cn:8/web/202005261453.txt
8 |
9 |
10 |
11 | # readObject源码分析
12 |
13 | # URLDNS
14 | 最适合新手分析的反序列化链,完全吃透按顺序开始下面的学习。
15 |
16 |
17 | # cc链
18 | 基础,很多漏洞都需要用到。
19 | cc链是指依赖Commons-Collections组件构造出来的反序列化利用链。
20 | Commons-Collections组件主要有两大版本:cc3和cc4。
21 | 这里新手容易绕晕,这两个是完全独立的包。4出来的原因好像是大佬们觉得3写的不好,直接重构了一个全新版本。
22 |
23 | cc3
24 | cc3可用的链有:1、3、5、6、7
25 |
26 | ```xml
27 |
28 |
29 | commons-collections
30 | commons-collections
31 | 3.1
32 |
33 |
34 | ```
35 |
36 |
37 | cc4
38 | cc4可用的链有:2、4
39 |
40 | ```xml
41 |
42 |
43 | org.apache.commons
44 | commons-collections4
45 | 4.0
46 |
47 |
48 | ```
49 |
50 | 还有大佬整合了k1,k2链可以通杀两大版本。
51 |
52 | ## cc1
53 | 重点,动态代理和反射要学好,不然很吃力。知识点非常多。
54 | ## cc2
55 | 重点,和cc1一样需要重点理解,再继续学其他的,后面的链是前面这两条的各种变形。
56 |
57 | ## cc3
58 | 1和2的结合,理解TrAXFilter触发TemplatesImpl
59 | ## cc4
60 | 2和3的结合
61 |
62 | ## cc5
63 | 重点,理解TiedMapEntry和BadAttributeValueExpException
64 |
65 | ## cc6
66 | 多种版本,学了前面再看这个就简单了。
67 | ## cc7
68 | 理解cc6
69 |
70 | ## 7u21
71 | jdk原生链,复杂的一批。
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------