Java

文章开始,先带大家复现JDBC反序列化漏洞。
Xstream是java中一个使用比较广泛的XML序列化组件,本文以近期Xstream爆出的几个高危RCE漏洞为案例,对Xstream进行分析,同时对POC的构成原理进行讲解。
源代码安全检测是安全开发流程(SDL)中非常重要的一部分,在58集团的CI/CD流程里面临每天几千数量级的构建及发布,白盒检测的自动化能力显得极为重要。
由于本人并非JAVA程序员,所以对JAVA方面的知识不是很懂,仅仅是能看懂而已。本文参照几位大佬的博客进行归纳总结,简单阐述了JAVA反序列化漏洞的原理以及Payload的构造。
CC5 、CC6 链利用了新的反序列化触发点,命令执行为CC1的利用方式,作者换了两个反序列化入口方法。同时又引出了Java HashMap和HashSet等利用方法,本文从基础知识、链存在的意义、链的分析构造这三大方面展开学习。
大半年前开的头,扔那就给忘了,终于想起来给写完了(*/ω\*)。
ysoserial 工具的CC3和CC4链是CC1和CC2 链的扩展链,触发过程与前两个链大致相同,主要是命令执行部分有所变化。借着这两个链的学习,巩固下前面两个链的构造和利用思路。
上篇文章详细分析了CommonsCollections1利用链的基础技术和构造,本节继续学习CC2链的构造和利用,将会涉及到新的知识点和反序列化知识。CC2链构造巧妙,但其中有很多坑点,也有很多细节,目前大佬们都对此比较清楚,我从刚入门的角度去分析此链的巧妙之处。
总感觉年纪大了,脑子不好使,看过的东西很容易就忘了,最近两天又重新看了下java反序列化漏洞利用链相关技术,并尝试寻找新的利用链,最后找到commons-collections中的类DualHashBidiMap能够触发利用链,不依赖于JDK,然后对比了ysoserial代码,暂未发现使用DualHashBidiMap类的触发的方式,遂记之。
前面介绍了ysoserial工具的结构以及一些使用方法,最终自己构造利用链添加在ysoserial的工具中。