Automated Discovery of Deserialization Gadget Chains
- 简单介绍什么是反序列化漏洞。
- 代码审计用的魔法函数:略
- 人工尝试追踪的方法论。
- 攻击Payload案例
- 哪些包有反序列化漏洞 - 文档里没说的是Fastjson。
- 如何找到一个反序列化漏洞:其实就是看Source -> Sink
- 找到Exploits的方法
- 使用ysoserial - 现成的Gadget
- 使用marshalsec - 一样现成的Gadget
- 其他小工具:joogle、ysoserial、marshalsec…
- 引入思考:我们是否可以搞一个工具,自动化识别新的受攻击链路呢?
- 这样的工具,需满足的特征。
- 实现的一个叫Gadget Inspector的开源工具。
- 第一步:枚举类与函数拓扑。
- 第二步:污染追踪数据流
- 第三步:调用链路图(invoke)
- 第四步:枚举用户可控的sources
- 第五步:广度优先识别
- 为一些特征库定制。
- 尝试对制品库进行分析,分析了100个。
- 找到一些已知问题(已经爆出来的)
- 找到的新问题-1
- 找到的新问题-2
- 找到的新问题-3
- 找到的新问题-4
后面,略,全是找到的问题。说白了,都是污染传播流入到Sink。