Commons Collections2分析】的更多相关文章

Java安全之Commons Collections2分析 首发:Java安全之Commons Collections2分析 0x00 前言 前面分析了CC1的利用链,但是发现在CC1的利用链中是有版本的限制的.在JDK1.8 8u71版本以后,对AnnotationInvocationHandler的readobject进行了改写.导致高版本中利用链无法使用. 这就有了其他的利用链,在CC2链里面并不是使用 AnnotationInvocationHandler来构造,而是使用 ​ javas…
Ysoserial Commons Collections2分析 About Commons Collections2 CC2与CC1不同在于CC2用的是Commons Collections4.0;同时利用方式CC2用到了Javassist动态编程,从功能上来说CC1用于执行命令,而CC2可以任意代码执行危害更大,所以像常用的shiro打内存马也会用到CC2. CC2 Gadget Chain Gadget chain: ObjectInputStream.readObject() Prior…
0x01.POC分析 //创建一个CtClass对象的容器 ClassPool classPool=ClassPool.getDefault(); //添加AbstractTranslet的搜索路径 classPool.appendClassPath(AbstractTranslet); //创建一个新的public类 CtClass payload=classPool.makeClass("CC2"); //让上面创建的类继承AbstractTranslet payload.setS…
Java安全之Commons Collections3分析 文章首发:Java安全之Commons Collections3分析 0x00 前言 在学习完成前面的CC1链和CC2链后,其实再来看CC3链会比较轻松.CC1的利用链是 Map(Proxy).entrySet()触发AnnotationInvocationHandler.invoke(),而CC2链的利用链是通过InvokerTransformer.transform()调用newTransformer触发RCE.这里就不说这么详细感…
Apache Commons Collections2反序列化研究 环境准备 JDK 1.7 Commons Collections 4.0 javassit 前置知识 PriorityQueue() 使用默认的初始容量(11)创建一个 PriorityQueue,并根据其自然顺序对元素进行排序. PriorityQueue(int initialCapacity) 使用指定的初始容量创建一个 PriorityQueue,并根据其自然顺序对元素进行排序. 常见的方法: add(E e) 将指定的…
Java安全之Commons Collections1分析(二) 0x00 前言 续上篇文,继续调试cc链.在上篇文章调试的cc链其实并不是一个完整的链.只是使用了几个方法的的互相调用弹出一个计算器. Java安全之Commons Collections1分析(一) 下面来贴出他的完整的一个调用链 Gadget chain: ObjectInputStream.readObject() AnnotationInvocationHandler.readObject() Map(Proxy).ent…
Java安全之Commons Collections1分析(一) 0x00 前言 在CC链中,其实具体执行过程还是比较复杂的.建议调试前先将一些前置知识的基础给看一遍. Java安全之Commons Collections1分析前置知识 0x01 CC链分析 这是一段poc代码,执行完成后会弹出一个计算器. import org.apache.commons.collections.*; import org.apache.commons.collections.functors.Chained…
Java安全之Commons Collections1分析前置知识 0x00 前言 Commons Collections的利用链也被称为cc链,在学习反序列化漏洞必不可少的一个部分.Apache Commons Collections是Java中应用广泛的一个库,包括Weblogic.JBoss.WebSphere.Jenkins等知名大型Java应用都使用了这个库. 0x01 前置知识 这里先来看一段网上找的,poc代码 import org.apache.commons.collectio…
Java安全之Commons Collections1分析(三) 0x00 前言 继续来分析cc链,用了前面几篇文章来铺垫了一些知识.在上篇文章里,其实是硬看代码,并没有去调试.因为一直找不到JDK的低版本. 全靠脑子去记传参内容尝试理解.后面的其实就简单多了,在上篇文章的基础上再去做一个分析. ​ Java安全之URLDNS链 Java安全之Commons Collections1分析前置知识 Java安全之Commons Collections1分析(一) Java安全之Commons Co…
Java安全之Commons Collections5分析 文章首发:Java安全之Commons Collections5分析 0x00 前言 在后面的几条CC链中,如果和前面的链构造都是基本一样的话,就不细讲了,参考一下前面的几篇文. 在CC5链中ysoserial给出的提示是需要JDK1.8并且SecurityManager需要是关闭的.先来介绍一下SecurityManager是干嘛的.SecurityManager也就是java的安全管理器,当运行未知的Java程序的时候,该程序可能有…