Commons Collections1也是利用InvokerTransformer类中的transform方法反射机制执行命令。实验用的是commons collections 3.1这里说一下为什么调用构造elEntry.setValue("hahah");就会弹计算器。poc前一步需要理解如下 ...
分类:
编程语言 时间:
2018-12-30 20:33:05
阅读次数:
143
参考链接的第一篇文章主要写的是poc怎么构造的,思路很清晰了,这篇文章从逆向分析,看下怎么反序列的。调用链如下: BadAttributeValueException.readObject TiedMapEntry.toString LazyMap.get ChainedTransformer.tr ...
分类:
编程语言 时间:
2018-12-30 14:40:37
阅读次数:
225
引言:因为太想加入三叶草了,所以极客大挑战这段时间一直在努力的学习,原来还真没想到能在比赛中拿到排行榜第一的成绩,不过现在看来努力始终都是有回报的。但我依然还是比较菜啊-.-,最近却有很多伙伴加我好友,一来就叫我大佬,让我深感有愧-.-,既然都想看我wp,那我就挑几道题写写好了,口拙词劣还望见谅。 ...
分类:
编程语言 时间:
2018-11-01 11:35:25
阅读次数:
303
1. 目标 把类的对象存储到字符串可存储 2. 类定义 3. 测试 结果 4. Fastjson Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接 ...
分类:
Web程序 时间:
2018-11-01 01:10:56
阅读次数:
257
WebLogic “Java 反序列化”过程远程命令执行 详细信息: https://www.seebug.org/vuldb/ssvid-89726 说明: 反序列化是指特定语言中将传递的对象序列化数据重新恢复为实例对象的过程,而在这个过程中会执行一系列的字节流解析和对象实例化操作用于恢复之前序列 ...
分类:
编程语言 时间:
2018-10-22 21:26:11
阅读次数:
212
第一部分:What Java序列化是指把Java对象保存为二进制字节码的过程,Java反序列化是指把二进制码重新转换成Java对象的过程。 那么为什么需要序列化呢? 第一种情况是:一般情况下Java对象的声明周期都比Java虚拟机的要短,实际应用中我们希望在JVM停止运行之后能够持久化指定的对象,这 ...
分类:
编程语言 时间:
2018-09-09 14:43:54
阅读次数:
182
java反序列化-Transformer类可以执行恶意代码的原理0x00代码Transformer[]transformers=newTransformer[]{newConstantTransformer(Runtime.class),newInvokerTransformer("getMethod",newClass[]{String.class,Class[].class},newObjec
分类:
编程语言 时间:
2018-08-16 15:40:52
阅读次数:
200
java反序列化原理-Demo一0x00什么是java序列化和反序列?Java序列化是指把Java对象转换为字节序列的过程便于保存在内存、文件、数据库中,ObjectOutputStream类的writeObject()方法可以实现序列化。Java反序列化是指把字节序列恢复为Java对象的过程,ObjectInputStream类的readObject()方法用于反序列化。0x01java反序列漏
分类:
编程语言 时间:
2018-08-13 18:07:21
阅读次数:
241
反序列化工具ysoserial使用介绍0x00ysoserial是什么?ysoserial集合了各种java反序列化payload;下载地址:https://github.com/angelwhu/ysoserial0x01基本使用方法在公网vps上执行:java-cpysoserial-0.0.6-SNAPSHOT-BETA-all.jarysoserial.exploit.JRMPListen
分类:
其他好文 时间:
2018-08-10 15:54:32
阅读次数:
5211