CC4

[复制链接]
发表于 2022-11-28 18:05:54 | 显示全部楼层 |阅读模式
0x00前言

在前面的cc链的利用被提出利用的时候,当时就出现了两个分支版本分别修复了漏洞就是我们所熟知的commons-collections4,然后就有了这条cc链4的利用
0x01分析

我们看一下这两个包有什么区别,这是两个依赖导入
  1. <dependency>
  2.             <groupId>org.apache.commons</groupId>
  3.             <artifactId>commons-collections4</artifactId>
  4.             <version>4.0</version>
  5.         </dependency>
  6.      
复制代码
还是导入嘛然后去ys看一下利用链子吧学会自己分析

从这里就可以知道它是用InstantiateTransformet,就是用的那个类加载机制去利用这个链子
还是细致的跟一下这个链子,就是简单调试
实在优先队列的那个类里面 PriorityQueue调用了下去的,然后在它的readObject方法调用的
在readObeject里面去调用了heapify()

在heapify里面调用了siftDown

然后继续调用siftDownUsingComparator

调用进来

这些其实都比较多余自己看跟一遍就懂了,链子上也没有写出来因为他们都在一个类里面还是readObject调用的,那就很简单了把命令执行的后半段黏上然后把这个
0x02开始构造链子

代码执行那一块还是就跟cc链3一样吧照抄就行了
0x1代码执行部分


[code]public class CC4TEST {    public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, IOException {        TemplatesImpl templates = new TemplatesImpl();        Class
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-15 06:32 , Processed in 0.072344 second(s), 31 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表