分类: JAVA

8 篇文章

Fastjson反序列化
概述 Fastjson是阿里巴巴开源的json解析库,他可以解析json格式的字符串并且支持将JAVA Object序列化为json字符串,也可以从json字符串反序列化到java object 它主要提供了两个接口来分别实现对java Object的序列化和反序列化的操作 JSON.toJSONString JSON.parseObject/JSON.parse 方法返回值用途适用场景JSON.…
Java反序列化CC3链
涉及前置知识 类的加载机制 在java动态加载字节码中写到过 java文件的编译,java文件编译过程包括 .java源代码->词法分析->语法分析->语义分析->注释处理->字节码生成->.class文件 类加载过程有包括 类加载器->查找字节码->读取字节流->方法区存储->创建Class对象 环境配置 jdk8u65Commons-…
Shiro反序列化
Shiro550 环境配置 jdk 8u65 shiro这里我用的是p神的dome tomcat服务器 漏洞利用流程 获取rememberMe值 -> Base64解密 -> AES解密 -> 调用readobject反序列化操作 漏洞分析 在我们登陆后root/secret,如果点击remember,网站则会生成一个cookie记住我们的登陆信息 实际后端是对用户登录信息进行序…
Java动态加载字节码
Java字节码 java字节码其实仅仅指的事java虚拟机执行使用的一类指令,通常被存储在.class文件中 他是java程序编译后生成的一种中间表示形式,是介于机器码和源代码之间的可移植指令集,因为java程序执行不依赖具体操作系统或硬件架构,而是通过JVM来解释执行或编译的 你甚至可以使用kotlin等等非java的语言编写程序,只要你的编译器能将其编译成.class文件,他们都可以在JVM上…
Java反序列化CC6
CC6链 和CC1链子相比,CC1链子是利用了LazyMap,而CC6总结下来其实就是URLDNS+CC1一半 出现了个问题,我在清理磁盘空间时,不小心把部分截图噶了,mac没带实验室来,晚上回去补上o(╥﹏╥)o 环境配置 jdk 8u71 CommonsCollectiion >3.2.1 简单利用链 /*Gadget chain:java.io.ObjectInputStream.re…
Java反序列化基础&URLDNS链
介绍 java序列化指把java对象转换为字节序列的过程便于保存到内存或文件当中,也可实现持久化存储,反序列化即把字节序列回复为java对象的过程 序列化和反序列化的实现 相关方法 ObjectOutputStream 类的 writeObject() 方法可以实现序列化。按 Java 的标准约定是给文件一个 .ser 扩展名 ObjectInputStream 类的 readObject() 方…
Java RMI
RMI全称是Remote Method Invocation,远程⽅方法调⽤ 是让某个Java虚拟机上的对象调⽤另一个Java虚拟机中对象上的⽅方法,只不不过RMI是Java独 有的⼀一种机制 本质是跨越调用JVM对象方法,跨网络的对象方法调用 RMI 的核心概念 远程对象(Remote Object) 运行在远程 JVM 上的对象,必须继承 UnicastRemoteObject 并实现 Rem…
JAVA基础学习
java基础语法 一个java程序可以认为是一系列对象的集合,而对这些对象通过调用彼此的方法来协同工作 对象:对象是类的一个实例,有状态和行为,比如,一条狗是一个对象,他的状态:颜色。名字,品种等,行为有:摇尾巴,叫等 类:类是一个模版,他描述一类对象的行为和状态 方法:方法就是行为,一个类可以有很多方法,逻辑运算,数据修改以及所有动作都是在方法中完成的 实例变量:每一个对象都有独特的实例变量,对…