java安全
文章平均质量分 77
0x6b79
!
展开
-
WebLogic基于T3协议的反序列化之利用JRMP进行绕过
前面的CVE-2016-3510/CVE-2016-0638都是把payload封装在对象里面进行绕过,而后续的绕过就利用JRMP进行绕过。原创 2023-03-05 18:05:48 · 324 阅读 · 1 评论 -
Registry与DGC的攻击利用
Registry指的是RMI的注册表,攻击的目标是注册表所在的机器,一般注册表和RMI Server在同一个机器上,特殊情况下也会在不同机器上。在我们通过LocateRegistry#getRegistry获取到目标开启的注册表之后,可以通过Registry#bind方法绑定一个对象到注册表上,而我们绑定的对象传送到目标机器上之后会对其进行一个反序列化。原创 2023-03-05 18:02:39 · 390 阅读 · 0 评论 -
Java反序列化注入内存马
Java内存马总体有Servlet/Filter/Listern/Java-Agent四种,前三种思路都差不多,通过不同方式获取到ApplicationContext/servletContext/StandardContext等对象,然后往ApplicationContext/servletContext/StandardContext注入恶意的Servlet/Filter/Listern,这里通过注入 Filter实现内存马。实现一通过Thread.currentThread().getContex原创 2022-02-09 16:17:36 · 2541 阅读 · 0 评论 -
Java反序列化回显
在Java反序列化漏洞利用中,结果回显是一个需要解决的问题,这里记录学习到的一些回显方法。原创 2022-02-09 16:16:55 · 1208 阅读 · 0 评论 -
WebLogic基于T3协议的反序列化 CVE-2016-0638/CVE-2016-3510
WebLogic基于T3协议的反序列化 CVE-2016-0638/CVE-2016-3510CVE-2016-0638 是前面分析的 CVE-2015-4852 的一个绕过,通过找到一个不在黑名单中的类,且这个类存在readObject/readResolve/readExternal 方法,并且恰好这些方法里面有一些数据进行反序列化操作,那么这时我们就可以把原生的序列化数据封装到这个类里面,通过调用反序列化对象重写的readObject/readResolve/readExternal 方法这一特点来原创 2022-01-29 14:37:21 · 5104 阅读 · 0 评论 -
WebLogic基于T3协议的反序列化之CVE-2015-4852
前言WebLogic 中的反序列化漏洞可以分为两种,第一种为基于 T3 协议的反序列化,第二种为基于 XML 的反序列化,下面表格为大概 CVE 分布,在基于 T3 的反序列化漏洞中,很多是基于 CVE-2015-4582 漏洞的一个相关绕过,而对 CVE-2015-4582 漏洞的绕过又大体应该分为两类,下面对 CVE-2015-4582 进行调试分析,为后面的绕过打下基础。基于 T3CVE-2015-4582CVE-2016-0638CVE-2016-3510CVE-2018-262原创 2022-01-29 14:35:44 · 3711 阅读 · 0 评论 -
Java readObject方法分析
Java readObject方法分析WebLogic 反序列化漏洞用到了有关 readObject 相关的知识,那么这里来分析一下 ObjectInputStream#readObject 方法,为后续 WebLogic 的反序列化漏洞分析打下基础。编写调试类User 类public class User implements Serializable { private String name; private int age; protected User() thr原创 2022-01-29 14:21:26 · 2515 阅读 · 0 评论 -
JRMPClient 反序列化
JRMPClient 反序列化当目标存在反序列化入口时,可以尝试构造反序列化链让目标在指定端口开启 JRMP 服务,这样我们就可以连接目标开启的 JRMP 服务进行一些后续操作。Gadget/* * Gadget: * UnicastRemoteObject#readObject * UnicastRemoteObject#reexport * UnicastRemoteObject#exportObject * UnicastRemoteObject原创 2022-01-26 16:24:40 · 906 阅读 · 0 评论 -
Vaadin01 反序列化
Vaadin01 反序列化依赖<dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-server</artifactId> <version>7.7.14</version></dependency>Gadget/* * Gadget: * BadAttributeValueExpException#原创 2022-01-26 16:23:52 · 199 阅读 · 0 评论 -
Clojure 反序列化
Clojure 反序列化依赖<dependency> <groupId>org.clojure</groupId> <artifactId>clojure</artifactId> <version>1.8.0</version></dependency>Gadget/* * Gadget: * HashMap#readObject * AbstractTab原创 2022-01-26 16:23:17 · 242 阅读 · 0 评论 -
beanshell 反序列化
beanshell 反序列化依赖<dependency> <groupId>org.beanshell</groupId> <artifactId>bsh</artifactId> <version>2.0b5</version></dependency>Gadget/* * Gadget: * PriorityQueue#readObject * XThis原创 2022-01-26 16:22:31 · 457 阅读 · 0 评论 -
C3P0 反序列化
C3P0 反序列化依赖<dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version></dependency>Gadget/* * Gadget: * PoolBackedDataSourceBase#readObject *原创 2022-01-26 16:21:58 · 650 阅读 · 0 评论 -
Groovy01 反序列化
Groovy01 反序列化依赖<dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>2.3.9</version></dependency>Gadget/* * Gadget: * AnnotationInvocationHandler#r原创 2022-01-26 16:21:24 · 467 阅读 · 0 评论 -
Click01反序列化
Click01反序列化依赖<dependency> <groupId>org.apache.click</groupId> <artifactId>click-nodeps</artifactId> <version>2.3.0</version></dependency>Gadget/* * Gadget: * PriorityQueue#readObject *原创 2022-01-26 16:20:47 · 163 阅读 · 0 评论 -
重构java安全
URLDNSHashMap 的 readObject 方法可以调用到任何一个类的 hashCode 方法,只需要把拥有 hashCode 方法的对象当作键名添加进 HashMap 即可,比如我要通过 HashMap#readObject 调用 URL#hashCode,我只需要实例化一个URL对象比如为 urlObject,然后以对象为键名添加进 HashMap,HashMap.put(urlObject,"ky0116")URL.handler 属性是transient 修饰的,按理是无法进行反序列原创 2022-01-19 19:00:54 · 1293 阅读 · 1 评论 -
Bypass JNDI高版本限制
老早就知道 JNDI 注入存在高版本限制且有相应的绕过手法了,今天来分析分析绕过高版本限制的两种手法!原创 2022-01-15 20:46:43 · 641 阅读 · 0 评论 -
Log4j2_RCE漏洞
前端时间爆出的Log4j2_RCE漏洞可谓是让安全圈提前过年,今天来复现和简单分析下这个漏洞!原创 2022-01-01 16:29:46 · 1985 阅读 · 1 评论 -
WebLogic CVE-2020-14645分析
WebLogic CVE-2020-14645分析原创 2021-12-10 19:37:21 · 667 阅读 · 0 评论 -
WebLogic CVE-2020-2555分析
WebLogic CVE-2020-2555分析原创 2021-12-10 16:24:10 · 3533 阅读 · 0 评论 -
restart漏洞
restart漏洞原创 2021-12-10 09:23:43 · 582 阅读 · 0 评论 -
restart logging.config logback JNDI RCE
restart logging.config logback JNDI RCE原创 2021-12-09 22:39:46 · 2243 阅读 · 0 评论 -
h2 database console JNDI RCE复现
h2 database console JNDI RCE复现原创 2021-12-09 20:45:00 · 1586 阅读 · 0 评论 -
restart h2 database query RCE复现
restart h2 database query RCE复现原创 2021-12-09 20:03:15 · 3122 阅读 · 0 评论 -
jolokia Realm JNDI RCE分析
jolokia Realm JNDI RCE分析原创 2021-12-09 19:22:12 · 2647 阅读 · 0 评论 -
eureka xstream deserialization RCE复现
eureka xstream deserialization RCE复现原创 2021-12-08 21:08:58 · 898 阅读 · 0 评论 -
spring cloud SnakeYAML RCE
spring cloud SnakeYAML RCE原创 2021-12-08 20:49:19 · 943 阅读 · 0 评论 -
jolokia logback JNDI RCE
jolokia logback JNDI RCE漏洞分析原创 2021-12-08 10:35:17 · 1467 阅读 · 0 评论 -
SpringBoot SpEL RCE漏洞分析
SpringBoot SpEL RCE前言最近一段时间学习Spring系列的漏洞,跟着Github上的资源学习原创 2021-12-07 11:33:17 · 1911 阅读 · 0 评论 -
CVE-2019-12422 Shiro721反序列化漏洞
CVE-2019-12422 Shiro721反序列化漏洞前面分析了Shiro550,导致Shrio550漏洞的原因是Shiro存在默认key,当服务器端的默认key没有修改,则攻击者可以利用这个默认key进行传输任意的rememberMe字段Cookie,这个rememberMe字段Cookie传输到服务器端之后会被反序列化!而在shiro1.2.5及以后的版本怎么利用呢?原创 2021-12-06 22:06:35 · 2914 阅读 · 0 评论 -
JDBC反序列化初步学习
JDBC反序列化初步学习当在JDBC连接数据库的URL可控,且服务器存在可以利用的反序列化链,这时就可能存在反序列化漏洞原创 2021-12-06 15:31:24 · 1190 阅读 · 0 评论 -
Fastjson_1.22-1.24漏洞分析
Fastjson_1.22-1.24漏洞分析Fastjson是一个库,可以将java对象转换为json字符串,也可以将json字符串转换为java对象。Fastjson简单使用Fastjson通过 toJSONString 方法把java对象转换为 json 字符串,通过 parse/parseObject 把json字符串转换为java对象,简单看个例子理解它们的区别原创 2021-12-06 10:15:35 · 465 阅读 · 0 评论 -
JNDI注入学习
JNDI注入简单记录一下学习JNDI时学习到的知识点JNDI是什么?前面我们学习过RMI远程方法调用,那是一个RMI SERVER - RMI Client的结构,而 JNDI 也可以从RMI SERVER中获取到对象并执行其中的方法。那么这两者有什么区别呢?原创 2021-12-05 20:46:30 · 1434 阅读 · 0 评论 -
JDK7u21原生反序列化链分析
JDK7u21原生反序列化链分析前面分析的都是第三方的反序列化链,那么有没有JDK原生的反序列化链呢?答案是有的,JDK7u21 和 JDK8u20就是两条原生的反序列化链!原创 2021-12-05 12:04:15 · 902 阅读 · 0 评论 -
CommonsBeanutils1反序列化链在Shiro中的利用
CommonsBeanutils1反序列化链在Shiro中的利用前面分析Shiro550的时候,利用的是commons-collections进行构造反序列化链,但是commons-collections是我们手动加进去的,如果Shiro没有commons-collections链呢,这时候该怎么办?这时候CommonsBeanutils1反序列化链就派上用场了!Shiro是默认依赖Commons-Beanutils1.8.3的,那么就可以利用CommonsBeanutils1反序列化链进行构造pa原创 2021-12-04 23:16:28 · 998 阅读 · 0 评论 -
CommonsBeanutils1反序列化链分析
CommonsBeanutils1反序列化链分析原创 2021-12-04 22:42:42 · 960 阅读 · 0 评论 -
Shiro550漏洞分析
Shiro550漏洞分析环境JDK8shiro1.2.4commons-collections-3.2.1漏洞原理Shiro安全框架登录时提供记住我功能,当登录时开启记住我功能时返回包会携带一个Cookie字段,键为rememberMe,下次登陆的时候携带返回包的Cookie进行,服务器端会把这个Cookie进行解码后反序列化。客户端用rememberMe功能时,服务器端会把Cookie数据进行序列化,然后进行AES加密,再Base64编码,最后以rememberMe为键返回给客户端。当客户原创 2021-12-04 21:05:44 · 296 阅读 · 0 评论 -
java_ClassLoader学习
java_ClassLoader学习ClassLoader是什么?引用网上的解释,很通俗易懂一个完整的 Java 应用程序由若干个 Java Class 文件组成,当程序在运行时,会通过一个入口函数来调用系统的各个功能,这些功能都被存放在不同的 Class 文件中。因此,系统在运行时经常会调用不同 Class 文件中被定义的方法,如果某个 Class 文件不存在,则系统会抛出 ClassNotFoundException 异常。系统程序在启动时,不会一次性加载所有程序要使用的 Class 文件到内原创 2021-12-03 20:58:53 · 228 阅读 · 0 评论 -
apache-commons-collections7反序列化链分析
apache-commons-collections7反序列化链分析apache-commons-collections7反序列化链也是对ACC1链的变形利用罢了,倒是其中涉及一些hash知识复现环境JDK7+CommonsCollections1前景知识这里要在前面说一下的是Hashtable.put方法新增的元素,是存储在Hashtable$Entry这个内部类里面的,那么获取元素也是在这个内部类获取的,这个跟进一下Hashtable.put方法就能知道LazyMap.put方法新增的元素,原创 2021-12-02 23:47:01 · 242 阅读 · 0 评论 -
apache-commons-collections6反序列化链分析
apache-commons-collections6反序列化链分析apache-commons-collections6反序列化链利用的也是通过TiedMapEntry.getValue方法调用一系列的transform方法执行系统命令的,下面就分析分析这条链复现环境JDK7+CommonsCollections1漏洞分析看到CommonsCollections6类的getObject方法,前面是很熟悉的Transformer数组构造,数组构造和ACC5也是一样的,这里直接在实例化Chained原创 2021-12-02 19:01:20 · 451 阅读 · 0 评论 -
apache-commons-collections5反序列化链分析
apache-commons-collections5反序列化链分析apache-commons-collections5反序列化链就是ACC1 LazyMap攻击链的利用,都是学过的知识点复现环境JDK7+CommonsCollections1漏洞分析看到CommonsCollections5类的getObject方法,实例化transformerChain类,并进行占位,后面再反射赋值为Transformer数组,Transformer数组很熟悉,构造跟ACC1链一样,Transform原创 2021-12-02 16:26:54 · 731 阅读 · 0 评论