C3P0反序列化链分析】的更多相关文章

C3P0 c3p0第一次听闻是用于fastjson的回显上,大佬们总结三种方法,后面两种主要就是用于fastjson和jackjson的回显利用(注入内存马) http base jndi hex序列化字节加载器 1.http base 1.1.漏洞复现 package ysoserial.test; import ysoserial.Serializer; import ysoserial.payloads.C3P0; import java.io.*; public class C3P0Te…
前言 基本的魔术方法和反序列化漏洞原理这里就不展开了. 给出一些魔术方法的触发条件: __construct()当一个对象创建(new)时被调用,但在unserialize()时是不会自动调用的 __destruct()当一个对象销毁时被调用 __toString()当一个对象被当作一个字符串使用 __sleep() 在对象在被序列化之前运行 __wakeup将在unserialize()时会自动调用 __set方法:当程序试图写入一个不存在或不可见的成员变量时,PHP就会执行set方法. __…
漏洞说明: Liferay是一个开源的Portal(认证)产品,提供对多个独立系统的内容集成,为企业信息.流程等的整合提供了一套完整的解决方案,和其他商业产品相比,Liferay有着很多优良的特性,而且免费,在全球都有较多用户. 该洞是个反序列化导致的rce,通过未授权访问其api传递json数据进行反序列化,危害较高 影响范围: Liferay Portal 6.1.XLiferay Portal 6.2.XLiferay Portal 7.0.XLiferay Portal 7.1.XLif…
jdk原生链分析 原文链接 作为jdk中目前发现的原生链,还是有必要要分析这个用法的.全文仅限尽可能还原挖掘思路 JDK7u21 在很多链中,TemplatesImpl一直发挥着不可或缺的作用,它是位于jdk源码中的一段Gadget:getOutputProperties()->newTransformer()->getTransletInstance()->... templatesImpl利用回顾: 加载对象需要是com.sun.org.apache.xalan.internal.x…
在 ysoserial中 commons-collections2 是用的 PriorityQueue reaObject 作为反序列化的入口 那么就来看一下 java.util.PriorityQueue.java 的 readObject方法 PriorityQueue#readObject private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundExcepti…
InvokerTransformer 首先来看 commons-collections-3.1-sources.jar!\org\apache\commons\collections\functors\InvokerTransformer.java 下的 transform 方法 public Object transform(Object input) { if (input == null) { return null; } try { Class cls = input.getClass(…
InstantiateTransformer commons-collections 3.1 中有 InstantiateTransformer 这么一个类,这个类也实现了 Transformer的transform方法 ,如下: public Object transform(Object input) { try { if (input instanceof Class == false) { throw new FunctorException( "InstantiateTransform…
ref:https://xz.aliyun.com/t/2043 小结: 3.2.2版本之前的Apache-CommonsCollections存在该漏洞(不只该包)1.漏洞触发场景 在java编写的web应用与web服务器间java通常会发送大量的序列化对象例如以下场景: 1)HTTP请求中的参数,cookies以及Parameters. 2)RMI协议,被广泛使用的RMI协议完全基于序列化 4)JMX 同样用于处理序列化对象 5)自定义协议 用来接收与发送原始的java对象 2. 漏洞挖掘…
Fastjson反序列化漏洞概述 ​ 背景 在推动Fastjson组件升级的过程中遇到一些问题,为帮助业务同学理解漏洞危害,下文将从整体上对其漏洞原理及利用方式做归纳总结,主要是一些概述性和原理上的东西. 漏洞原理 多个版本的Fastjson组件在反序列化不可信数据时会导致代码执行.究其原因,首先,Fastjson提供了autotype功能,允许用户在反序列化数据中通过"@type"指定反序列化的类型,其次,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分g…
环境:MacOS 10.13 MAMAP Prophp 7.0.33 + xdebugVisual Studio Code前言我所理解的 POP Chain:利用魔术方法并巧妙构造特殊属性调用一系列函数或类方法以执行某种敏感操作的调用堆栈反序列化常用魔法函数 前言我所理解的 POP Chain:利用魔术方法并巧妙构造特殊属性调用一系列函数或类方法以执行某种敏感操作的调用堆栈 反序列化常用魔法函数 __wakeup, unserialize() 执行前调用 __destruct, 对销毁的时候调用…