Common-Collections-利用链-2(CC2)漏洞分析
slug
series-status
status
summary
date
series
type
password
icon
tags
category
引言
- 接CC4的前文
- 其实大家知道,对于动态加载恶意类的利用方法,其实只要最后走到TemplateImpl.newTransformer就可以的,而不一定是从InstantiateTransformer.transform入手的,因此引出了CC2这条利用链
CC2分析
- 为了达到上述的目的呢,我们可以直接利用InvokerTransformer去调用这个TemplateImpl.newTransformer方法就行了
- 和前文的CC4的优先队列的方法结合:
- 效果:

- 修改为序列化+反序列化的形式:
- 效果:

- 可能已经有同学注意到了,这里我们没有延续之前常用的ChainedTransformer类,而是直接使用了InvokerTransformer类,这是因为我们这里有了PriorityQueue类在前边调用transform方法,避开了之前的AnnotationInvocationHandler中传入参数限制的问题,可以直接去调用执行对象的InvokerTransformer的transform方法了,所以这也是CC2的突出贡献所在。因为在后续例如shiro等反序列化的漏洞中,会涉及到对Transformer数组的限制。
总结
- 关键节点图:

参考视频:https://www.bilibili.com/video/BV1NQ4y1q7EU
Loading...