commons-collections利用链学习总结】的更多相关文章

目录 1 基础 ConstantTransformer InvokeTransformer ChainedTransformer LazyMap TiedMapEntry TransformingComparator PriorityQueue TemplatesImpl 2 实现readObject方法的类及其利用链 BadAttributeValueExpExceptionCC PriorityQueueCC PriorityQueueCC2 HashMapCC HashSetCC Hash…
JdbcRowSetImpl 接着继续学习fastjson的第二条链JdbcRowSetImpl,主要是利用jndi注入达到的攻击,而且没有什么利用限制,而且其原理就是setter的自动调用,具体setter调用代码可以参考上篇文章调试的部分 1.漏洞复现 1.1.组件依赖版本 fastjson:1.2.22-1.2.24 1.2.利用方式 不像TemplatesImpl链需要指定的利用方式,JdbcRowSetImpl链只需要可以控制输入就能利用. JSON.parse(evil); JSON…
目录 前言 基础知识 Transformer 利用InvokerTransformer造成命令执行 Map TransformedMap LazyMap AnnotationInvocationHandler 动态代理 Commons Collections Gadget 分析 CommonsCollections1 CommonsCollections2 疑问 CommonsCollections3 CommonsCollections4 CommonsCollections5 Commons…
CommonsCollection6 1.前置知识 1.1.HashSet HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合.继承了序列化和集合 构造函数参数为空的话创建一个HashMap(),有一个参数的情况下,要创建指定容量的初始数值的哈希集合. 我们看到add方法会调用map.put()方法.这个map就是HashMap() //定义HashMap,E在泛型表示集合的元素,元素的类型为Object private transient HashMap<E,Obje…
0x01.环境准备: Apache Commons Collections 3.1版本,下载链接参考: https://www.secfree.com/a/231.html jd jui地址(将jar包转化为java源码文件): https://github.com/java-https://www.secfree.com/a/231.html/jd-gui/releases 配置项目中的jdk版本: https://blog.csdn.net/qq_22076345/article/detai…
Apache Common-collection 反序列化利用链解析 TransformedMap链 参考Java反序列化漏洞分析 - ssooking - 博客园 (cnblogs.com) poc package com.company; import org.apache.commons.collections.Transformer; import org.apache.commons.collections.functors.ChainedTransformer; import org…
CommonsCollection2 1.前置知识 CmonnosCollection2需要用到Javassist和PriorityQueue 1.1.Javassist Javassist是一个开源的分析.编辑和创建Java字节码的类库 我们添加依赖看看 <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>…
CommonsCollection4 1.前置知识 由于cc4没有新的知识点,主要是用cc2,然后稍微cc3结合了,所以我们可以看ysoserial源码,自己尝试构造一下,把cc2通过获取InvokeTransformer()获取templatesImpl的newtransformer()方法,改成用cc3的InstantiateTransformer初始化.那就把跟cc2不同的代码学习下. 1.1.transformingComparator 与cc2最大的不容就是transformingCo…
CommonsCollections7 1.前置知识 Hashtable Hashtable实现了Map接口和Serializable接口,因此,Hashtable现在集成到了集合框架中.它和HashMap类很相似,但是它支持同步,像HashMap一样,Hashtable在哈希表中存储键/值对.当使用一个哈希表,要指定用作键的对象,以及要链接到该键的值.然后,该键经过哈希处理,所得到的散列码被用作存储在该表中值的索引. //默认没有参数的构造方,新建为11容量的Hashtable public…
FastJson利用链 Fastjson的版本在1.2.22-1.2.24主要有两条链利用TemplatsImpl和JdbcRowSetImpl利用链先来学习TemplatsImpl利用链,这个与前面jdk7u21所用的都是通过defineclass来实例化恶意字节码导致的任意代码执行. 1.漏洞复现 组件依赖版本: <dependencies> <dependency> <groupId>commons-codec</groupId> <artifa…