反序列化Gadget学习篇四 CommonCollections6
转载
2021-07-29 18:23:00
193阅读
2评论
学习JAVA安全漫谈,理解CC利用链,按步骤理解每一个部分,每一个点为什么是这样的。 P神学习⽅式的探索 有时候想要学习⼀个东⻄,⽹上搜索⼀下,发现有教程,于是跟着做⼀遍。这样⼀来,你会发现⽹上⼤部分Java反序列化“教程”、“⼊⻔”通常上来先了解Java反序列化是什么,然后很快开始讲Commons ...
转载
2021-07-15 12:11:00
74阅读
2评论
为什么需要CC3 在2015年前后@frohoff和@gebl发布了Talk《Marshalling Pickles: how deserializing objects will ruin your day》,以及Java反序列化利用工具ysoserial,随后引爆了安全界。开发者们自然会去找寻一 ...
转载
2021-08-20 14:54:00
554阅读
2评论
上篇提到了CC0.5 使用的是TransformedMap,但是如果阅读ysoserial的源码会发现,CommonCollections1并没有用到TransformedMap,而是LazyMap。 LazyMap是什么 LazyMap和TransformedMap类似,都来自于Common-Co ...
转载
2021-07-15 12:11:00
404阅读
2评论
背景: Apache Commons Collections是一个著名的辅助开发库,包含了一些Java中没有的数据结构和和辅助方法,不过随着Java 9以后的版本中原生库功能的丰富,以及反序列化漏洞的影响,它也在逐渐被升级或替代。 在2015年底commons-collections反序列化利用链被 ...
转载
2021-08-27 15:10:00
701阅读
2评论
0x01前言之前简单学习了JAVA反序列化和URLDNS这条利用链,讲过的基础就不再赘述了,今天来学习CommonCollections这条利用链。0x02分析由于这条链相对于URLDNS比较复杂,为了更容易理解,所以首先采用P牛精简后的一段DEMO来理解这条利用链:DEMO1 1package Commoncollections1;
2import org.apache.commons.col
转载
2024-05-10 16:32:41
24阅读
前言: 这篇主要分析commonCollections2,调用链如下图所示: 调用链分析: 分析环境:jdk1.8.0 反序列化的入口点为src.zip!/java/util/PriorityQueue.java 此时将会对队列调用siftdown函数,其中队列中包含了两个元素,其中一个即为temp ...
转载
2021-04-30 22:54:44
605阅读
2评论
前言: 这篇文章主要分析commoncollections3,这条利用链如yso描述,这个与cc1类似,只是反射调用方法是用的不是invokeTransformer而用的是InstantiateTransformer,整个调用过程如下图 利用链分析: 如上图所示,入口点还是Annotationinv ...
转载
2021-04-30 22:53:56
339阅读
2评论
Java反序列化2-CommonCollections利用链分析0x00 前言0x01 实验环境0x02 利用链TransformerConstantTransformerInvokerTransformerChainedTransformer0x03 POC分析ConstantTransformerInvoker1Invoker2Invoker30x04 POC反思问题1问题20x05 减轻利
1.前言 这篇文章继续分析commoncollections4利用链,这篇文章是对cc2的改造,和cc3一样,cc3是对cc1的改造,cc4则是对cc2的改造,里面chained的invoke变成了instantiateTransformer,所以不用invoke反射调用方法,所以外层queue里面 ...
转载
2021-04-30 22:53:06
257阅读
2评论
0x01 前言本文分析的是yso中CommonCollections1的payload,其payload前半段前文已经分析过,重点是对后半段的讲解。上一节的payload是利用TransformedMap来完成CommonsCollections链的利用的(当调用put方法时会调用transform方法)这次没有利用TransformedMap,而是利用LazyMap来完成CommonsColle
转载
2023-11-29 16:25:29
14阅读