前言: 这篇文章主要分析commoncollections3,这条利用链如yso描述,这个与cc1类似,只是反射调用方法是用的不是invokeTransformer而用的是InstantiateTransformer,整个调用过程如下图 利用链分析: 如上图所示,入口点还是Annotationinv ...
分类:
编程语言 时间:
2020-03-01 19:38:24
阅读次数:
70
前言: ysoserial很强大,花时间好好研究研究其中的利用链对于了解java语言的一些特性很有帮助,也方便打好学习java安全的基础,刚学反序列化时就分析过commoncollections,但是是跟着网上教程,自己理解也不够充分,现在重新根据自己的调试进行理解,这篇文章先分析URLDNS和co ...
分类:
编程语言 时间:
2020-02-28 22:36:42
阅读次数:
57
什么是序列化? --1--java序列化是指把java对象转换为字节序列的过程,而java反序列化是指把字节序列恢复为java对象的过程 --2--序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文 ...
分类:
编程语言 时间:
2019-12-18 16:19:22
阅读次数:
72
JAVA序列化就是将JAVA对象转化为字节序列的过程,而JAVA反序列化就是将字节序列转化为JAVA对象的过程。 这一过程是通过JAVA虚拟机独立完成,所以一个对象序列化后可以在任意时间和任意机器上反序列化得到该对象。 在这之前,我对序列化与反序列化一直是只有个模糊的了解,心中对此一直有一个疑问。 ...
分类:
编程语言 时间:
2019-12-16 13:29:34
阅读次数:
102
出处:序列化和反序列化的底层实现原理是什么? 一、基本概念1、什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程; (2)**序列化:**对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可 ...
分类:
编程语言 时间:
2019-11-25 23:48:33
阅读次数:
85
经过一段时间的琢磨与反思,以及重读了大量之前看不懂的反序列化文章,目前为止算是对java反序列化这块有了一个阶段性的小理解。 目前为止,发送的所有java反序列化的漏洞中。主要需要两个触发条件: 1、反序列化的攻击入口 2、反序列化的pop攻击链 这两个条件缺一不可。网上大量分析gadgets的文章 ...
分类:
编程语言 时间:
2019-11-25 18:35:57
阅读次数:
125
Jboss反序列化漏洞复现(CVE-2017-12149) 一、漏洞描述 该漏洞为Java反序列化错误类型,存在于jboss的HttpInvoker组件中的ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。 ...
分类:
其他好文 时间:
2019-07-30 14:19:41
阅读次数:
170
老是听说序列化反序列化,就是不知道到底什么是序列化,什么是反序列化?今天就在网上搜索学习一下,这一搜不要紧,发现自己曾经用过,竟然不知道那就是JDK类库中序列化和反序列化的API。 什么是序列化? --1--java序列化是指把java对象转换为字节序列的过程,而java反序列化是指把字节序列恢复为 ...
分类:
编程语言 时间:
2019-01-15 15:48:31
阅读次数:
217
前言 什么是序列化和反序列化 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。反序列化就是通过序列化后的字段还原成这个对象本身。但标识不被序列化的字段是不会被还原的。 序列化有什么用 1)网站 ...
分类:
编程语言 时间:
2019-01-15 11:50:55
阅读次数:
199
这个洞的cve编号:CVE 2017 17485,漏洞环境就如第一个链接那样,jdk需要在jdk 1.8以上。 先看一下Jackson databind的用法,说白了就是将json转换成对象。 test legit.json代码如下 运行结果如图: 如果注入的json代码如下代码,就会引入FileS ...
分类:
编程语言 时间:
2018-12-31 22:00:33
阅读次数:
429