- 2024-11-18JAVA反序列化学习-CommonsCollections2(基于ysoserial)
环境准备JDK1.8(8u421)这里ysoserial,我以本地的JDK8版本为准、commons-collections4(4.0以ysoserial给的版本为准)、javassist(3.12.1.GA)cc4.0、ClassPool<dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId&
- 2024-10-21jdk7u21 链子分析
jdk7u21链子分析java中的反序列化大部分时候都依靠第三方组件漏洞,原生链子很少,今天分析其中条:7u21反序列化链子分析环境:Java7u21原生链反序列化要求jdk版本低于7u21,其他的什么第三方依赖都不需要。可以下载jdk源码,引入方法和cc1一样,下载地址:https://hg.openjdk.org/jdk7
- 2024-09-07Java反序列化漏洞-TemplatesImpl利用链分析
目录一、前言二、正文1.寻找利用链2.构造POC2.1生成字节码2.2加载字节码1)getTransletInstance2)defineTransletClasses2.3创建实例3.完整POC三、参考文章一、前言java.lang.ClassLoader#defineClassdefineClass可以加载字节码,但由于defineClass的作用域是protected,所以攻
- 2024-08-15Java反序列化(三)——CC6、CC3
0背景白日梦组长投稿视频-白日梦组长视频分享-哔哩哔哩视频(bilibili.com)实验环境Java:1.8.0_65IDEA:2022commons-collecetions:3.2.11CC6 ysoserial中的CC6调用链如下:最下面的还是CC1中的LazyMap.get()。transform那里和CC1是代码一样的,只不过ysoserial这
- 2024-04-29[2022DASCTF Apr X FATE 防疫挑战赛] warmup-java
没错,还是java。我就跟java杠上了。分析先看依赖:没有啥特别的。审一下源码:IndexController.java:warmup路由下传参data,下面把十六进制转为字节直接反序列化了。看下动态代理MyInvocationHandler.java:看一下Utils的hexStringToBytes方法: 下面分析来自Java专题-简
- 2023-12-06java反序列化 ROME链
环境搭建jdk8u181<dependencies><dependency><groupId>rome</groupId><artifactId>rome</artifactId><version>1.0</version></dependency></dependencies>利用链分析ROME反序列
- 2023-08-18CC3
参考链接https://www.bilibili.com/video/BV1Zf4y1F74K环境搭建和jdk貌似关系不大,用之前的8u65或者8u71都可以cc用的3.2.1利用链分析寻找链子的过程:ClassLoader.defineClass()->TemplatesImpl#defineClass()->TemplatesImpl#defineTransletClasses()->TemplatesImpl#getTr
- 2023-07-30Java反序列化Commons-Beanutils篇-CB链
<1>环境介绍jdk:jdk8u65CB:commons-beanutils1.8.3pom.xml添加<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.8.3</version></dep
- 2023-06-13Java反序列化之Commons-Collection篇05-CC2链
<1>环境分析jdk:jdk8u65CC:Commons-Collections4.0pom.xml添加<dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.0</version></dependency&g
- 2023-06-07CC3链子分析
<1>环境分析前两条CC1和CC6利用invoke反射调用Runtime().getRuntime().exec()执行命令很多时候服务器的代码当中的黑名单会选择禁用RuntimeCC3是利用类加载机制,动态加载恶意类来实现自动执行恶意类代码的这里测试环境为:jdk:jdk8u65CC:Commons-Collections3.2.1<2>链子分
- 2023-02-02FastJason 1.2.22-1.2.24 TemplatesImpl利用链分析
前言休息了好像有一周了(慢慢的罪恶感),昨天在打比赛的时候做了一个php-cms的审计,然后激起了学习的热情。之前打比赛的时候遇到过fastjson的题,当时也就是直接用poc利用了,也
- 2023-01-21TemplatesImpl利用链分析
前言在学习javacc2链的时候看到利用TemplatesImpl,记得之前在fastjson反序列化的时候也遇到过,所以就想着单独写个TemplatesImpl利用链分析的文章,该篇也作为cc2链的前篇。
- 2022-12-05构造链
概述CommonsCollections3.2.2的改动CommonsCollections44.1的改动4.1⾥,这⼏个危险Transformer类不再实现Serializable接⼝,也就是说,他们⼏个彻底⽆法序列化和反序
- 2022-11-13利用TemplatesImpl攻击Shiro
前言前边已经学习了CC1,CC6,CC3,其中1和3收到JDK8U71限制的的,C6是通杀高版本的,但是通过TemplatesImpl构造的利用链,理论上可以执行任意Java代码,这是一种非常通用的代码执行
- 2022-11-04ysoserial CommonsColletions4分析
前言CommonsCollectionsGadgetChainsCommonsCollectionVersionJDKVersionNoteCommonsCollections1CommonsCollections3.1-3.2.11.7(8u71之后已修复不
- 2022-10-27Fastjson反序列化解析流程分析(以TemplatesImpl加载字节码过程为例)
文章目录写在前面流程分析写在前面关于TemplatesImpl加载字节码就不多说了,之前也写过自己翻一翻,或者网上看看其他大佬的,至于为什么选择这一个,因为这里面大