Infernity's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • friends
C3P0反序列化

C3P0反序列化

C3P0是JDBC的一个连接池组件 JDBC: JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口。 使用Java程序访问数据库时,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接口来访问,而JDBC接口则通过JDBC驱动来实现真正对数据库的访问。 连接池: 我们在讲多线程的时候说过,创建线程是一个昂贵的操作,如果有
2025-03-13
JAVA
#JAVA
JDK7u21原生反序列化

JDK7u21原生反序列化

Java的反序列化漏洞有一些时基于第三方jar包的,所以我们不难免会设想是否存在不依赖第三方的Gadget。比如这条JDK7u21的链子,不需要任何其他的jar包。 依赖jdk版本低于7u21 我这里用7u21 利用链分析7u21利用链的核心是AnnotationInvocationhandler#equalslmpl 这个方法中有个很明显的反射调用memberMethod.invoke(o)
2025-03-06
JAVA
#JAVA
Jackson反序列化

Jackson反序列化

依赖jdk7u21 123456789101112131415161718192021222324252627282930<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId>
2025-03-05
JAVA
#JAVA
Jackson原生反序列化

Jackson原生反序列化

前面说到了在fastjson中的原生的一个反序列化调用任意类的getter方法的原理与细节,既然在fastjson中存在有这样的原生反序列化,在另一个和他功能类似的开源库jackson也有着类似的原生反序列化触发getter方法。 依赖1234567891011121314151617181920<dependency> <groupId>org.javassist&
2025-03-05
JAVA
#JAVA
Hessian反序列化

Hessian反序列化

Hessian是一个基于RPC的高性能二进制远程传输协议,官方对Java、Flash/Flex、Python、C++、.NET C#等多种语言都进行了实现,并且Hessian一般通过Web Service提供服务。在Java中,Hessian的使用方法非常简单,它使用Java语言接口定义了远程对象,并通过序列化和反序列化将对象转为Hessian二进制格式进行传输。 环境配置:jdk 8u
2025-03-03
JAVA
#JAVA
Resin反序列化

Resin反序列化

Resin是一个轻量级的、高性能的开源Java应用服务器。它是由Caucho Technology开发的,旨在提供可靠的Web应用程序和服务的运行环境。和Tomcat一样是个服务器,它和hessian在一个group里,所以有一定的联系。 QName利用链依赖jdk 8u66 1234567<dependencies> <dependency> <groupI
2025-03-02
JAVA
#JAVA
java反序列化ROME原生链

java反序列化ROME原生链

环境配置:jdk 8u66 123456789101112<dependencies> <dependency> <groupId>rome</groupId> <artifactId>rome</artifactId> <version>1.0</versio
2025-03-01
JAVA
#JAVA
Shiro反序列化

Shiro反序列化

在shiro版本小于1.2.5时,被称作shiro-550,shiro反序列化的产生原因主要是因为rememberMe内容,原因是AES密钥被硬编码在shiro源码中,导致在cookie中的rememberMe可以被插入恶意代码造成代码执行。在1.2.5之后,shiro使用了随机密钥,又因为padding oracle attack导致反序列化,被称作shiro-721。 环境搭建jdk版本这里是
2025-02-26
JAVA
#JAVA
fastjson反序列化

fastjson反序列化

fastjson 是阿里巴巴开发的 java语言编写的高性能 JSON 库,用于将数据在 Json 和 Java Object之间相互转换。它没有用java的序列化机制,而是自定义了一套序列化机制。 提供两个主要接口: JSON.toJSONString 和 JSON.parseObject/JSON.parse 分别实现序列化和反序列化。 先来讨论一下fastjson<=1.2
2025-02-25
JAVA
#JAVA
fastjson原生反序列化

fastjson原生反序列化

前言很久之前跟了CC链和CB链,但是java反序列化还是不是很懂,最近VNCTF做了fastjson的二次反序列化,觉得很有必要自己细致地来研究一遍fastjson原生反序列化。 poc1和poc2链要求fastjson<=1.2.48 poc3、poc4、poc5链是fastjson 1.2.49 版本及以后。 fastjson 1.2.48版本和依赖jdk:1.8.0_66 m
2025-02-16
JAVA
#JAVA
1234…6

搜索

Hexo Fluid
总访问量 次 总访客数 人