Vicl1fe
这个作者很懒,什么都没留下…
展开
-
Java反序列化(之)Weblogic反序列化系列 CVE-2016-3510 分析
前言之前也提到了CVE-2016-3510,他也是针对于CVE-2015-4852的黑名单绕过,其实具体的原理和CVE-2016-3608是一样的最好先看看CVE-2016-3510CVE-2016-3510CVE-2016-3510使用的绕过类是weblogic.corba.utils.MarshalledObject,首先查看该类的构造方法,构造方法接收一个Object类型的参数var1,最后转为转为字节数组赋值给this.objBytes继续查看readResolve方法,发现这里会直接原创 2022-04-01 17:25:48 · 1062 阅读 · 0 评论 -
Java反序列化(之)Weblogic反序列化系列 CVE-2016-0638 分析
前言原创 2022-04-01 16:47:09 · 1741 阅读 · 0 评论 -
Java反序列化(之)Weblogic反序列化系列初探 CVE-2015-4852
前言weblogic反序列化主要有XMLDecoder和T3协议。先从T3协议开始,主要是CVE-2015-4852这个漏洞环境搭建https://blog.csdn.net/qq_41918771/article/details/117467957https://blog.csdn.net/weixin_45682070/article/details/123230456主要参考这两篇文章,第一篇是我写的,但是由于源不能用了原因,可以参考第二篇T3协议T3概述RMI通信使用的是序列化数原创 2022-03-24 11:03:15 · 1498 阅读 · 0 评论 -
Java反序列化(之)Mysql JDBC 反序列化分析
前言搞fastjson的时候又又又又又又遇到个经常听到但没研究过的链,就是Mysql JDBC反序列化,准备最近这段时间把它拿下。Mysql Jdbc文件读取首先加上我们的Mysql Jdbc环境<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</ve原创 2022-02-19 11:04:06 · 750 阅读 · 0 评论 -
fastjson反序列化 BasicDataSource链分析
前言BCELBCEL的全名是Apache Commons BCEL,属于Apache Commons项目下的一个子项目,CC链也就是从Apache Commons产生的。BCEL库提供了一系列用于分析、创建、修改Java Class文件的API。主要用来将xml文档转为class文件。编译后的class被称为translet,可以在后续用于对XML文件的转换。该库已经内置在了JDK中。关于BCEL具体详情可参考https://www.leavesongs.com/PENETRATION/where-i原创 2022-01-06 12:09:10 · 835 阅读 · 0 评论 -
Java反序列化(之)JNDI注入绕过高版本限制
前言JNDI注入绕过高版本限制已经被别人玩烂了,我才开始学。参考文章写的特别好。本文大部分参考https://kingx.me/Restrictions-and-Bypass-of-JNDI-Manipulations-RCE.htmlJNDI注入暂时只了解到 JNDI注入分为如下几类RMI Remote Object Payload(限制较多,不常使用)RMI + JNDI Reference PayloadLDAP + JNDI Reference PayloadCORBA攻击原创 2021-12-30 18:27:55 · 943 阅读 · 0 评论 -
Java反序列化(之)JNDI注入
前言为了学fastjson也是煞费苦心,害。感觉参考中文章讲的很容易去理解,文章大部分都参考它的。JNDIJava命名和目录接口(JNDI)是一种Java API,类似于一个索引中心,它允许客户端通过name发现和查找数据和对象。代码格式如下String jndiName= ...;//指定需要查找name名称Context context = new InitialContext();//初始化默认环境DataSource ds = (DataSourse)context.lookup(jn原创 2021-12-29 12:09:10 · 1033 阅读 · 2 评论 -
Java反序列化 (之) RMI反序列化
前言也是从接触fastjson的时候才接触RMI这个东西。也经常与JNDi搞混。这篇文章先分析RMI的底层,等研究过了再加上。什么是RMIRMI即远程方法调用,通俗的来说就是客户端可以调用服务端的方法。和RPC差不多,RMI是java独立实现的一种机制。RMI使用赖的通信协议为JRMP(Java Remote Message Protocol ,Java 远程消息交换协议),该协议为Java定制,要求服务端与客户端都为Java编写。RMI分为三个主体部分:摘自https://xz.aliyun.c原创 2021-12-09 16:24:25 · 1097 阅读 · 2 评论 -
Java 反序列化(一)必备基础知识
原创 2021-12-08 14:22:55 · 537 阅读 · 0 评论 -
javassit遇到的坑
不说一些没用的话了,直接上坑no-such-class异常问题:如果编译的时候遇到类似以下的异常,说明javassit是找不到这个类javassist cannot compileexception [source error] no such class Method解决方法使用全限定名称,比如将Method修改为java.lang.reflect.MethodgetDeclaredMethod(xxx)异常问题:编译的时候,如果遇到类似以下的异常,getDeclaredMeth.原创 2021-11-29 10:29:14 · 2245 阅读 · 0 评论 -
Shiro key的另类检测方式
前言很久以前对于Shiro这个洞,都是基于URLDNS来爆破key的,但实际利用场景中,大部分是不出网的,后来出了一个新的检测key的方式,但一直只知道是通过SimplePrincipalCollection这个类来判断的正确的key就不会回显rememberMe=deleteMe,错误的key就会回显rememberMe=deleteMe,但原理未知,今天就来分析一下。返回rememberMe=deleteMe的几种情况key不正确跟踪一下Shiro解密的逻辑,在AbstractReme原创 2021-11-04 17:33:24 · 1242 阅读 · 0 评论 -
Java反序列化(十二)CommonCollectionsK2分析
CommonCollectionsK2在 Shiro_k1文章中讲解了CommonCollectionsK1的利用代码。需要CC版本小于3.2.1。而CommonCollectionsK2就是在CC4.0中的利用。其实利用代码和K1的是一样的。只是有一个地方不一样。在K1中,LazyMap是这样获取的Map lazyMap = LazyMap.decorate(outmap,faketransformer);而在CC4中,没有了decorate方法。用lazyMap方法代替即可所以K2中这样原创 2021-10-25 15:56:27 · 372 阅读 · 0 评论 -
Java反序列化(十一)CommonCollectionsK1分析及在Shiro中的利用
前言在Shiro中的利用可真是复杂利用CC6攻击Shiro使用CC6链生成payload,进行利用。shiro 1.2.4以下默认使用密钥为kPH+bIxk5D2deZiIxcaaaA==。通过yso获取序列化对象。java -jar ysoserial.jar CommonsCollections6 "calc.exe" > result.ser然后通过Serfile_to_rememberme.py生成payload。python3 Serfile_to_rememberme.py原创 2021-10-24 17:15:37 · 990 阅读 · 0 评论 -
Java反序列化(十)CommonsBeanutils分析及Shiro中的利用
前言Apache Commons BeanutilsApache Common Beanutils是Apache Common工具集下的另一个项目,提供了一系列对JavaBean的操作方法。什么是JavaBean:什么是JavaBean。如下Cat就是一个JavaBean。final public class Cat { private String name = "catalina"; public String getName() { return name;原创 2021-10-20 16:49:33 · 477 阅读 · 3 评论 -
Java反序列化(九)Common Collection 7分析
前言环境jdk1.7Commons Collections 3.1<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.1</version></dependency>利用链先放出完整的POCpackage原创 2021-09-29 15:51:57 · 340 阅读 · 0 评论 -
Java反序列化(八)Common Collection 6分析
前言环境jdk1.7Commons Collections 3.1 <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.1</version> </dependency>利用链java.io.Objec原创 2021-09-26 15:04:12 · 314 阅读 · 0 评论 -
Tomcat内存马学习(一)Filter型
前言想研究内存马还是得学习这方面的知识。对于Tomcat容器的详解参考:https://blog.csdn.net/sunyunjie361/article/details/58588033Tomca结构Tomcat总体结构如下。Server –> Service –>Connector & Container( Engine –> Host –> Context( Wrapper( Servlet ) ) )下面这个图是我对Tomcat的理解。如有错误请指原创 2021-08-22 10:58:09 · 323 阅读 · 0 评论 -
【Java反序列化回显构造】Linux文件描述符回显
前言都知道在Shiro反序列化中是无回显的,此文章是基于Linux文件描述符进行回显。环境我使用的是sprint boot进行测试的pom.xml如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="原创 2021-08-18 16:32:39 · 310 阅读 · 0 评论 -
Tomcat 通用回显分析
前言最近在研究Java 反序列化的漏洞回显方式,就发现自己tm菜的抠脚。太难了。测试环境 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.7.RELEASE</version> </parent&g原创 2021-08-11 23:03:41 · 686 阅读 · 0 评论 -
对于Java RMI 远程方法调用的理解
前言RMI 是前进路上不得不学的一个重点知识。最近有点迷茫,希望有大哥能指条路。什么是RMI远程方法调用 RMI(Remote Method Invocation),是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法。 这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运行在网络上的不同计算机中。Java RMI:Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过原创 2021-08-09 15:34:31 · 254 阅读 · 0 评论 -
FastJson JdbcRowSetImpl 链分析
前言继续跟着大佬学习fastjson利用链。之前写了fastjson TemplateImple利用链。里面分析了fastjson的一些数据流向。对于JdbcRowSetImpl链。这个链基本没啥限制条件,只需要Json.parse(input)即可进行命令执行。环境jdk1.8_102<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</arti原创 2021-07-17 23:22:16 · 632 阅读 · 1 评论 -
fastjson 1.22-1.24 TemplatesImpl反序列化漏洞分析
前言看了别人的文章,我也打算先分析TemplatesImpl利用链,关于fastjson的使用可以参考:fastjson 使用环境jdk 1.8_102<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.24</version></dependency&原创 2021-07-09 16:40:07 · 727 阅读 · 0 评论 -
Java fastjson 简单使用及反序列化利用原理
前言要想分析漏洞原理,就得先懂得怎么使用这个组件。之后会分析利用链。fastjson简介在Java里面常见的json解析器有,主要用于json格式的数据和Java对象之间的转换。Jsonlib,Gson,fastjson,jackson环境jdk8_102 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId>原创 2021-07-05 12:04:35 · 603 阅读 · 2 评论 -
Java反序列化(七)Common Collection 5分析
前言环境jdk1.7Commons Collections 3.1 <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.1</version> </dependency>利用链 Objec原创 2021-06-04 14:17:58 · 321 阅读 · 2 评论 -
Java反序列化(六)Common Collection 4分析
前言环境jdk1.7Commons Collections 4.0<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.0</version></dependency><dependency>原创 2021-06-03 10:33:30 · 534 阅读 · 0 评论 -
我眼里的Weblogic 反序列化
前言满怀期待的学习Weblogic反序列化环境搭建本来想着自己下载webloigc环境,搞了半天也没搞定,年少不知工具香。还是选择了在docker里搭建,然后使用idea进行远程调试。weblogic下载地址,我下载的是10.3.6.0的https://www.oracle.com/middleware/technologies/weblogic-server-downloads.htmljdk7下载地址http://www.oracle.com/java/technologies/jav原创 2021-06-02 17:40:48 · 292 阅读 · 2 评论 -
Java反序列化(五)Common Collection 3分析
前言环境jdk 1.7Commons Collections 3.1<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.1</version></dependency>利用链ObjectInputStream.readO原创 2021-05-31 11:52:39 · 303 阅读 · 0 评论 -
Java反序列化(四)Common Collection 2分析
前言环境jdk 1.7Commons Collections 4.0ideaidea创建maven项目,在pom.xml添加即可<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.0</version></depen原创 2021-05-23 14:54:20 · 531 阅读 · 2 评论 -
Java反序列化(三)Common Collection 1分析
前言环境jdk 1.7Commons Collections 3.1ideaidea创建maven项目,在pom.xml添加即可 <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.1</version>原创 2021-03-26 18:58:08 · 818 阅读 · 2 评论 -
Java 反序列化(二) URLDNS链分析
前言原创 2021-03-24 20:45:04 · 725 阅读 · 3 评论 -
shiro550 反序列化漏洞分析
环境搭建我的环境1、Maven 3.5.22、jdk 1.6和jdk1.8(默认java环境是1.8,1.6是用于配置下面的toolchains)3、IDEA配置shiro首先下载shiro-1.2.4:shiro-1.2.4下载。文件目录如下,进入samples\web目录下。这就算是漏洞复现的web目录了。配置Maven配置一下maven,在maven/conf/toolchains.xml中的toolchains 中添加以下代码。至于为什么要添加,可以看看toolchains的原创 2021-03-20 10:50:51 · 907 阅读 · 2 评论