自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(69)
  • 收藏
  • 关注

原创 WebLogic基于T3协议的反序列化之利用JRMP进行绕过

前面的CVE-2016-3510/CVE-2016-0638都是把payload封装在对象里面进行绕过,而后续的绕过就利用JRMP进行绕过。

2023-03-05 18:05:48 360

原创 Registry与DGC的攻击利用

Registry指的是RMI的注册表,攻击的目标是注册表所在的机器,一般注册表和RMI Server在同一个机器上,特殊情况下也会在不同机器上。在我们通过LocateRegistry#getRegistry获取到目标开启的注册表之后,可以通过Registry#bind方法绑定一个对象到注册表上,而我们绑定的对象传送到目标机器上之后会对其进行一个反序列化。

2023-03-05 18:02:39 433

原创 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 2655

原创 Java反序列化回显

在Java反序列化漏洞利用中,结果回显是一个需要解决的问题,这里记录学习到的一些回显方法。

2022-02-09 16:16:55 1267

原创 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 5302

原创 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 3782

原创 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 2574

原创 JRMPClient 反序列化

JRMPClient 反序列化当目标存在反序列化入口时,可以尝试构造反序列化链让目标在指定端口开启 JRMP 服务,这样我们就可以连接目标开启的 JRMP 服务进行一些后续操作。Gadget/* * Gadget: * UnicastRemoteObject#readObject * UnicastRemoteObject#reexport * UnicastRemoteObject#exportObject * UnicastRemoteObject

2022-01-26 16:24:40 965

原创 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 242

原创 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 266

原创 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 502

原创 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 677

原创 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 507

原创 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 186

原创 Rome反序列化

Rome反序列化Gadget/* * Gadget: * HashMap#readObject * ObjectBean#hashCode * EqualsBean#beanHashCode * ToStringBean#toString * TemplatesImpl#getOutputProperties * */HashMap#readObject 可以调用到任意一个类的 hashCode 方法,这里调用到的是 Obje

2022-01-22 18:13:36 747

原创 FastjsonJNDI利用及Bypass高版本限制

FastjsonJNDI利用及Bypass高版本限制Fastjson 在用 parse(obj) 还原对象的属性时会调用对象的 setter 方法为属性赋值,比如要还原 JdbcRowSetImpl 对象的autoCommit 属性,则会调用 JdbcRowSetImpl#setAutoCommit 方法进行还原,而下面的利用也基本都是基于这一点!Fastjson <= 1.2.24还原 autoCommit 属性时调用 JdbcRowSetImpl#setAutoCommit 方法,setAu

2022-01-22 18:05:03 668

原创 重构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 1346 1

原创 Tomcat-Servlet内存马

前面学习了 Listener/Filter 内存马,今天来学习一下 Servlet 内存马!

2022-01-15 20:49:02 570

原创 Tomcat-Listener内存马

这篇文章记录下学习 Listener 内存马学习到的东西,思路跟 Filter 型内存马差不多,找一个相对通用的 Listener ,这里用的是 `ServletRequestListener` ,所有的 servlet 请求都会经过这个 Listener,接下来写一个例子调试分析 Listener 的注册过程和调用过程,相对来说比较简单!

2022-01-15 20:47:49 398

原创 Bypass JNDI高版本限制

老早就知道 JNDI 注入存在高版本限制且有相应的绕过手法了,今天来分析分析绕过高版本限制的两种手法!

2022-01-15 20:46:43 698

原创 Log4j2_RCE漏洞

前端时间爆出的Log4j2_RCE漏洞可谓是让安全圈提前过年,今天来复现和简单分析下这个漏洞!

2022-01-01 16:29:46 2020 1

原创 java-tomcat-filter内存马

java内存马

2021-12-31 20:41:18 824

原创 WebLogic CVE-2020-14645分析

WebLogic CVE-2020-14645分析

2021-12-10 19:37:21 696

原创 WebLogic CVE-2020-2555分析

WebLogic CVE-2020-2555分析

2021-12-10 16:24:10 3565

原创 restart漏洞

restart漏洞

2021-12-10 09:23:43 625

原创 restart logging.config logback JNDI RCE

restart logging.config logback JNDI RCE

2021-12-09 22:39:46 2266

原创 h2 database console JNDI RCE复现

h2 database console JNDI RCE复现

2021-12-09 20:45:00 1739

原创 restart h2 database query RCE复现

restart h2 database query RCE复现

2021-12-09 20:03:15 3213

原创 jolokia Realm JNDI RCE分析

jolokia Realm JNDI RCE分析

2021-12-09 19:22:12 2756

原创 eureka xstream deserialization RCE复现

eureka xstream deserialization RCE复现

2021-12-08 21:08:58 956

原创 spring cloud SnakeYAML RCE

spring cloud SnakeYAML RCE

2021-12-08 20:49:19 992

原创 jolokia logback JNDI RCE

jolokia logback JNDI RCE漏洞分析

2021-12-08 10:35:17 1554

原创 SpringBoot SpEL RCE漏洞分析

SpringBoot SpEL RCE前言最近一段时间学习Spring系列的漏洞,跟着Github上的资源学习

2021-12-07 11:33:17 1997

原创 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 2992

原创 JDBC反序列化初步学习

JDBC反序列化初步学习当在JDBC连接数据库的URL可控,且服务器存在可以利用的反序列化链,这时就可能存在反序列化漏洞

2021-12-06 15:31:24 1226

原创 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 480

原创 JNDI注入学习

JNDI注入简单记录一下学习JNDI时学习到的知识点JNDI是什么?前面我们学习过RMI远程方法调用,那是一个RMI SERVER - RMI Client的结构,而 JNDI 也可以从RMI SERVER中获取到对象并执行其中的方法。那么这两者有什么区别呢?

2021-12-05 20:46:30 1467

原创 JDK7u21原生反序列化链分析

JDK7u21原生反序列化链分析前面分析的都是第三方的反序列化链,那么有没有JDK原生的反序列化链呢?答案是有的,JDK7u21 和 JDK8u20就是两条原生的反序列化链!

2021-12-05 12:04:15 958

原创 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 1052

原创 CommonsBeanutils1反序列化链分析

CommonsBeanutils1反序列化链分析

2021-12-04 22:42:42 1001

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除