G
N
I
D
A
O
L
摘要: Java代码审计篇 | ofcms系统审计思路讲解 - 篇4 | XXE漏洞审计 1. XXE代码审计【有1处】 XXE代码审计常搜索的关键字如下: XMLReader SAXBuilder SAXReader SAXParserFactory Digester DocumentBuilderFac 阅读全文
posted @ 2024-09-23 01:55 leyilea 阅读(55) 评论(0) 推荐(0) 编辑
摘要: Java代码审计篇 | ofcms系统审计思路讲解 - 篇3 | 文件上传漏洞审计 1 文件上传代码审计【有1处】 文件上传漏洞我们需要着重关注的是文件在被java代码解析到保存下来之间有无验证过滤,因此什么样的上传方式,什么样的保存方式都不重要,大家着重关注代码对文件的验证过滤手段即可。 文件上传 阅读全文
posted @ 2024-09-23 01:54 leyilea 阅读(19) 评论(0) 推荐(0) 编辑
摘要: Java代码审计篇 | ofcms系统审计思路讲解 - 篇2 | SQL注入漏洞审计 1. 前言 我发现很多文章包括教程,大概套路是:只说有漏洞的点,将有漏洞的点指出,然后分析代码;或者黑盒测试出漏洞之后,然后分析代码。 我认为这是在分析漏洞代码,而非代码审计。代码审计文章或教程应该是从0开始找到漏 阅读全文
posted @ 2024-09-23 01:53 leyilea 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Java代码审计篇 | ofcms系统审计思路讲解 - 篇1 | 环境搭建、路由机制 目录 1. 前言 2. 项目环境搭建 3. 项目路由机制 3.1. 1)先搜索pom.xml文件,看看使用了什么框架 3.2. 2)确定是否是spring的路由机制 3.3. 3)确定自写路由机制的特点 3.4. 阅读全文
posted @ 2024-09-23 01:51 leyilea 阅读(2) 评论(0) 推荐(0) 编辑
摘要: CC3链分析 1. CC3链背景 前面介绍了CC1和CC6,这两条链子虽然前面的入口类不同 CC1入口类是AnnotationInvocationHandler CC6入口类是HashMap 但是其触发恶意代码的方式是相同的,都是InvokerTransformer.transform()触发Run 阅读全文
posted @ 2024-09-23 01:44 leyilea 阅读(13) 评论(0) 推荐(0) 编辑
摘要: CC6 CC6和CC1之间的区别 在CC1的LazyMap链中,调用链如下: AnnotationInvocationHandler.readObject() Map(Proxy).entrySet() LazyMap.get() ChainedTransformer.transform() Inv 阅读全文
posted @ 2024-09-23 01:41 leyilea 阅读(6) 评论(0) 推荐(0) 编辑
摘要: CC1链的第二种方式-LazyMap版调用链 目录 LazyMap 构造payload CC1的调用链 参考链接 LazyMap 在之前的CC1链中分析,其实是其中一种方式(国内版本),还有另外一种方式,也是ysoserial中的CC1链的方式(国外版本)。 区别在于调用transform的类是不同 阅读全文
posted @ 2024-09-23 00:21 leyilea 阅读(14) 评论(0) 推荐(0) 编辑
摘要: CC1链_全网最菜的分析思路 1 你必须知道的点 1.1 反序列化利用链的起点是readObject()方法 Java的序列化机制允许将对象的状态保存到一个字节流中,之后可以从这个字节流中恢复(或“反序列化”)出对象。这个过程中,ObjectInputStream类负责读取这些字节流,并尝试根据包含 阅读全文
posted @ 2024-09-22 23:27 leyilea 阅读(39) 评论(0) 推荐(0) 编辑
摘要: JdbcRowSetImpl利用链 前言 首先说明一下:利用链都有自己的使用场景,要根据场景进行选择不同的利用链。 JdbcRowSetImpl利用链用于fastjson反序列化漏洞中。 为什么? 因为fastjson会在反序列化类时自动调用set开头的方法(不一定是setter方法),而JdbcR 阅读全文
posted @ 2024-09-22 23:22 leyilea 阅读(5) 评论(0) 推荐(0) 编辑
摘要: URLDNS链 URLDNS链是java通过反序列化发起dns请求的利用链。一般用于测试反序列化漏洞。 该链比较简单,利用链也比较短。 其中入口类为 HashMap,执行类为URLStreamHandler的hashCode()方法。 整个调用链如下: HashMap.readObject() Ha 阅读全文
posted @ 2024-09-22 23:05 leyilea 阅读(4) 评论(0) 推荐(0) 编辑