
JAVA安全
文章平均质量分 95
java怎么还不凉凉。
_leyilea
乾坤未定 你我皆为黑马!
展开
-
Java反序列化利用链篇 | CC3链分析、TemplatesImpl类中的调用链、TrAXFilter、InstantiateTransformer类的transform()【本系列文章的重点】
入口类 source调用链 gadget chain执行类 sink方式执行恶意代码。动态类加载任意类方式执行恶意代码。而入口类source和调用链gadget chain可以有很多组合,Java反序列化CC调用链中都是不同的组合类型。那接下来就是寻找方法的调用,其实这里可以接上CC1的前半部分调用链了,通过来进行调用。即将放入链中,然后按照CC1的方式调用即可。// 传入TrAXFilter.class,返回TrAXFilter.class,当做下一个transform的参数。原创 2024-09-22 20:36:11 · 1004 阅读 · 0 评论 -
Java代码审计篇 | ofcms系统审计思路讲解 - 篇1 | 环境搭建、路由机制
我发现很多文章包括教程,大概套路是:只说有漏洞的点,将有漏洞的点指出,然后分析代码;或者黑盒测试出漏洞之后,然后分析代码。我认为这是在分析漏洞代码,而非代码审计。代码审计文章或教程应该是从0开始找到漏洞所在,包括思路!所以这里不管有没有漏洞,我都会把审计过程写出来,因此篇幅会很长,但我认为这样对你会很有帮助。知其然亦知所以然。项目环境搭建项目路由机制文章中有错误点,或者思路上有什么问题的,欢迎师傅们留言指出~原创 2024-09-09 19:15:54 · 1498 阅读 · 0 评论 -
Java代码审计篇 | ofcms系统审计思路讲解 - 篇2 | SQL注入漏洞审计
我发现很多文章包括教程,大概套路是:只说有漏洞的点,将有漏洞的点指出,然后分析代码;或者黑盒测试出漏洞之后,然后分析代码。我认为这是在分析漏洞代码,而非代码审计。代码审计文章或教程应该是从0开始找到漏洞所在,包括思路!所以这里不管有没有漏洞,我都会把审计过程写出来,因此篇幅会很长,但我认为这样对你会很有帮助。知其然亦知所以然。SQL注入漏洞审计Java代码审计篇 - ofcms系统审计思路讲解 - 篇1 - 环境搭建、路由机制。原创 2024-09-09 19:27:16 · 1173 阅读 · 0 评论 -
Java代码审计篇 | ofcms系统审计思路讲解 - 篇3 | 文件上传漏洞审计
我发现很多文章包括教程,大概套路是:只说有漏洞的点,将有漏洞的点指出,然后分析代码;或者黑盒测试出漏洞之后,然后分析代码。我认为这是在分析漏洞代码,而非代码审计。代码审计文章或教程应该是从0开始找到漏洞所在,包括思路!所以这里不管有没有漏洞,我都会把审计过程写出来,因此篇幅会很长,但我认为这样对你会很有帮助。知其然亦知所以然。SQL注入漏洞审计Java代码审计篇 | ofcms系统审计思路讲解 - 篇1 | 环境搭建、路由机制。原创 2024-09-10 20:34:19 · 1995 阅读 · 0 评论 -
Java代码审计篇 | ofcms系统审计思路讲解 - 篇4 | XXE漏洞审计
我发现很多文章包括教程,大概套路是:只说有漏洞的点,将有漏洞的点指出,然后分析代码;或者黑盒测试出漏洞之后,然后分析代码。我认为这是在分析漏洞代码,而非代码审计。代码审计文章或教程应该是从0开始找到漏洞所在,包括思路!所以这里不管有没有漏洞,我都会把审计过程写出来,因此篇幅会很长,但我认为这样对你会很有帮助。知其然亦知所以然。XXE漏洞审计Java代码审计篇 | ofcms系统审计思路讲解 - 篇1 | 环境搭建、路由机制。原创 2024-09-14 21:10:44 · 1308 阅读 · 0 评论 -
Java内存马系列 | SpringMVC内存马 - 上 | SpringMVC代码分析
Spring MVC。原创 2024-09-07 16:00:00 · 962 阅读 · 0 评论 -
Java内存马系列 | SpringMVC内存马 - 下 | SpringMVC 内存马分析
整体漏洞利用+写入内存马的执行流程是:1)发送payload,即json数据,存在恶意rmi或ladp服务地址(fastjson漏洞)2)服务器收到payload之后,解析payload(fastjson功能),反序列化类,触发访问rmi或ldap服务的功能3)从rmi或ldap服务器请求了恶意的class文件,即内存马class文件,加载到受害者服务器中4)受害者服务器执行class文件代码,触发动态注册Controller等代码,在服务其中动态注册了恶意的Controller和映射。原创 2024-09-08 05:00:00 · 1562 阅读 · 0 评论 -
Java反序列化利用链篇 | JdbcRowSetImpl利用链分析
首先说明一下:利用链都有自己的使用场景,要根据场景进行选择不同的利用链。JdbcRowSetImpl利用链用于fastjson反序列化漏洞中。为什么?因为fastjson会在反序列化类时自动调用set开头的方法(不一定是setter方法),而JdbcRowSetImpl中存在一个set开头的方法,即,该这个方法中调用了connect()方法,connect()方法返回值是Connection。原创 2024-09-07 11:37:20 · 623 阅读 · 0 评论 -
Java反序列化利用链篇 | CC1链_全网最菜的分析思路【本系列文章的分析重点】
提前了解下,后面分析时不晕!!反序列化的AnnotationInvocationHandler对象中存在很多其他对象,存储在不同对象的属性中,反序列时会被使用。AnnotationInvocationHandler对象的属性Map memberValues的值为TransformedMap;TransformedMap对象的属性Transformer valueTransformer的值为ChainedTransformer;原创 2024-08-30 16:12:52 · 2371 阅读 · 1 评论 -
Java反序列化利用链篇 | CC1链的第二种方式-LazyMap版调用链【本系列文章的分析重点】
总结下来就是:动态代理的执行方法(即被代理对象lazyMap的任意方法)不能是equals\toString\hashCode\annotationType方法,且不能存在参数。在之前的CC1链中分析,其实是其中一种方式(国内版本),还有另外一种方式,也是ysoserial中的CC1链的方式(国外版本)。在寻找transform调用的时候,当时使用的是TransformedMap中的checkSetValue()方法。方法,只需要调用被代理对象的任意方法,则可以调用。原创 2024-09-20 23:27:31 · 765 阅读 · 0 评论 -
Java反序列化利用链篇 | URLDNS链
如果一个序列化的hashMap对象中存在一个URL对象,则在进行反序列hashMap对象的时候,就会触发URL对象的hashCode()方法,进而触发DNS请求。在put时不触发url的hashCode方法,这个显然也不行,只要put执行,hash()会执行,hashCode()必然执行,(除非key为空,但是不现实)。原因其实很简单,反序列化之前,hashMap对象存在URL对对象,但是URL对象的hashCode不是-1,因此反序列化时,执行不到。如果调用了URL对象的hashCode,则会调用。原创 2024-09-21 19:38:51 · 994 阅读 · 0 评论 -
Java反序列化利用链篇 | CC6链分析(通用版CC链)
构造方法的第二个参数用不到,所以随意传入进行,但是重要的是它接受一个Object对象,而这个对象的类需要实现Serializable接口,如果不是,则后续的序列化不能成功。属性设置为空的map对象(除上面创建的lazyMap都行),则最终就不会触发到恶意代码 (当然其他的也行:只要保证整个链子到不了恶意代码就行)。方法在反序列化的时候会被调用,因此我们只需要创建一个HashMap对象,然后序列化即可。第2步将map属性设置为一个空的map对象(除上面创建的lazyMap都行)对象中的内容不完整呢?原创 2024-09-21 19:40:46 · 1484 阅读 · 0 评论 -
JavaWeb中处理 Web 请求的方式总结
在 Java Web 开发中,处理 Web 请求的方式有很多种,涵盖了从原始的 Servlet 到各种现代框架的不同实现。原创 2024-09-10 21:41:29 · 1453 阅读 · 0 评论 -
JDK如何下载源码?
HotSpot VM:这是JDK中包含的Java虚拟机的实现,它负责执行Java字节码。JVM编译器:包括Just-In-Time (JIT) 编译器,用于将字节码转换为机器码。类库:包括标准Java API的实现,如java.langjava.util等。开发工具:如javac(Java编译器)、javadoc(文档生成工具)、jar(打包工具)等。原创 2024-09-20 23:29:22 · 631 阅读 · 0 评论