0x00 前言
整理一下CC链相关的内容,单独存放,方便复习。
0x01 CC链
1、transformedMap调用链
- Java代码审计——Commons Collections 迭代调用链
- Java代码审计——Commons Collections TransformedMap调用链
- Java代码审计——Commons Collections AnnotationInvocationHandler readObject调用链
2、LazyMap调用链 CC1
- Java代码审计——Commons Collections 迭代调用链
- Java代码审计——Commons Collections LazyMap调用链
- Java代码审计——Commons Collections AnnotationInvocationHandler 动态代理调用链
3、CC2
- Java代码审计——Commons Collections2 TemplatesImpl底层调用链
- Java代码审计——Commons Collections2 TransformingComparator
- Java代码审计——Commons Collections2 PriorityQueue
4、CC3
- Java代码审计——Commons Collections3 TrAXFilter
这里可以接TransformedMap,CC1、CC2 后续都是可以的,主要用来绕过
这里可以通过这种方式调用:
- Java代码审计——Commons Collections2 TemplatesImpl底层调用链
- Java代码审计——Commons Collections3 TrAXFilter
- 迭代链
- Java代码审计——Commons Collections LazyMap调用链
- Java代码审计——Commons Collections AnnotationInvocationHandler 动态代理调用链
5、CC4
CC4就是重新组合了一下,更适合jdk多版本
- Java代码审计——Commons Collections2 TemplatesImpl底层调用链
- Java代码审计——Commons Collections3 TrAXFilter
- ChainedTransformer迭代链
- Java代码审计——Commons Collections2 TransformingComparator
- Java代码审计——Commons Collections2 PriorityQueue
6、CC5
7、CC6
Java代码审计——Commons Collections6 HashSet
8、CC7
Java代码审计——Commons Collections7 HashTable
0x02 知识点总结:
CC1:TransformedMap
- AnnotationInvocationHandler
- jdk 1.7限制
CC1:LazyMap
- AnnotationInvocationHandler
- jdk 1.7限制
CC2:PriorityQueue
- TemplatesImpl
- TransformingComparator_compare
- PriorityQueue
- jdk无限制
- cc4
CC3:TrAXFilter
- AnnotationInvocationHandler
- cc链无要求
- jdk1.7
CC4:组合利用
- TemplatesImpl
- TrAXFilter
- TransformingComparator_compare
- PriorityQueue
- cc4
CC5:TiedMap
- Lazymap
- TiedMapEntry
- BadAttributeValueExpException
- 无任何要求,可以直接使用
CC6:hashCode
- hashCode
- 走urldns反序列化一套
- 无任何要求,可以直接使用
CC7:在CC6的基础上多走了一步 HashTable