- 博客(111)
- 资源 (3)
- 收藏
- 关注
原创 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
1193
原创 Java反序列化(之)Weblogic反序列化系列初探 CVE-2015-4852
前言weblogic反序列化主要有XMLDecoder和T3协议。先从T3协议开始,主要是CVE-2015-4852这个漏洞环境搭建https://blog.youkuaiyun.com/qq_41918771/article/details/117467957https://blog.youkuaiyun.com/weixin_45682070/article/details/123230456主要参考这两篇文章,第一篇是我写的,但是由于源不能用了原因,可以参考第二篇T3协议T3概述RMI通信使用的是序列化数
2022-03-24 11:03:15
1577
原创 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
854
原创 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
985
原创 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
1022
原创 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
1134
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
1170
2
原创 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
2535
原创 Shiro key的另类检测方式
前言很久以前对于Shiro这个洞,都是基于URLDNS来爆破key的,但实际利用场景中,大部分是不出网的,后来出了一个新的检测key的方式,但一直只知道是通过SimplePrincipalCollection这个类来判断的正确的key就不会回显rememberMe=deleteMe,错误的key就会回显rememberMe=deleteMe,但原理未知,今天就来分析一下。返回rememberMe=deleteMe的几种情况key不正确跟踪一下Shiro解密的逻辑,在AbstractReme
2021-11-04 17:33:24
1332
原创 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
422
原创 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
1089
原创 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
530
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
406
原创 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
370
原创 Tomcat内存马学习(一)Filter型
前言想研究内存马还是得学习这方面的知识。对于Tomcat容器的详解参考:https://blog.youkuaiyun.com/sunyunjie361/article/details/58588033Tomca结构Tomcat总体结构如下。Server –> Service –>Connector & Container( Engine –> Host –> Context( Wrapper( Servlet ) ) )下面这个图是我对Tomcat的理解。如有错误请指
2021-08-22 10:58:09
376
原创 【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
351
原创 idea远程调试jar包
前言因为需要linux环境,而我的idea在windows上,又懒得在kali里安装idea了。所以需要去配置idea远程调试jar包。远程调试jar包我们先打开idea,新建一个Remote。修改Ip为kali的IP,然后修改端口。然后注意远程服务器的jdk的版本。然后复制上图中的方框部分,如下-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005然后进入kali执行java -agentlib:jdwp=t
2021-08-16 17:23:46
511
原创 使用CrossC2插件 上线Linux
前言做红队的时候,就可以发现大部分服务器都是linux。而Windows的服务器比较少。还是更希望可以上线CS,方便管理。环境1.kali 20212.CS4.2CrossC2通过CrossC2插件可以实现上线CS。支持CS4.x版本上线,github链接如下。https://github.com/gloxec/CrossC2/releases我下载的是2.2.4-stable。因为我的环境是kali。所以我下载的是genCrossC2.Linux。然后再把Source code(zip
2021-08-12 11:41:19
2162
原创 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
733
原创 对于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
289
原创 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
701
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
800
原创 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
691
2
原创 [漏洞复现] Apache Solr XXE(CVE-2017-12629)
前言什么是LuceneLucene 是一个高效的,基于 Java 的全文检索库。 Lucene 是 apache 软件基金会 4 jakarta 项目组的一个子项目,是一个开放源代码的全 文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,Lucene主要提供了一个简单、强大的应用程序接口。什么是solrSolr 是基于 Lucene 的面向企业搜索的 web 应用 ,Solr 是一个独立的企业级搜索应用服务器。它对外提供类似于 Web-service 的 API 接 口
2021-06-10 14:53:02
1477
原创 [漏洞复现] Apache Solr RCE(CVE-2017-12629)
前言什么是LuceneLucene 是一个高效的,基于 Java 的全文检索库。 Lucene 是 apache 软件基金会 4 jakarta 项目组的一个子项目,是一个开放源代码的全 文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,Lucene主要提供了一个简单、强大的应用程序接口。什么是solrSolr 是基于 Lucene 的面向企业搜索的 web 应用 ,Solr 是一个独立的企业级搜索应用服务器。它对外提供类似于 Web-service 的 API 接 口
2021-06-07 14:14:30
1355
1
原创 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
361
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
607
原创 我眼里的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
332
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
341
原创 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
572
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
868
2
原创 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
1001
2
原创 防溯源连接WebShell
前言原理就是通过腾讯云的云函数将我们的请求进行转发,目标那里获取到的IP即腾讯云的IP,并且有CDN。实战首先我们登陆到腾讯云的控制台https://console.cloud.tencent.com/scf。第一次使用云函数的时候可能需要授权。点击新建这里直接默认就好,也可以设置一下函数名称和地域。然后点击完成然后依次点击函数服务->函数管理->函数代码。将下面的代码粘贴到index.py中# -*- coding: utf8 -*-import requestsimpor
2021-03-04 10:12:16
1907
1
原创 Frp与reGeorg结合实现横向移动
前言这里我使用的环境是CFS三层靶机。CFS三层靶机练习,链接里没有靶机地址,网上搜索一下CFS三层靶机练习就可以了我搞了半天一直没成功,直到我看到一篇文章,因为我这里用的就是php。很可能就是reGeorg的问题。这是我之前一直用的https://github.com/sensepost/reGeorg。作者已经几年没更新了。现在我换了一个https://github.com/L-codes/Neo-reGeorg使用。这个没有问题。下面的操作使用的就是这个。环境拓扑图如下attack
2021-03-02 09:18:48
1040
原创 【PWN系列】 Buucf babyheap_0ctf_2017 Writeup
个人博客地址http://www.darkerbox.com欢迎大家学习交流参考网址:https://www.cnblogs.com/luoleqi/p/12349714.html分析参考网址说的已经不错了,主要问题出现在fill功能,只要chunk存在,即可写任意长度的字符。主要还是利用fasbin attack和unsorted的特性(下面会说到)来修改__malloc_hook拿到shell。这里我来实际走一遍exp的流程,下面的exp我用的是本地的libc。利用下面的代码定
2020-11-27 16:34:32
726
原创 【PWN系列】XCTF-4-ReeHY-main-100 Writeup
个人博客地址http://www.darkerbox.com欢迎大家学习交流参考网址:https://www.cnblogs.com/xingzherufeng/p/9885860.html#commentformhttps://blog.youkuaiyun.com/seaaseesa/article/details/102907138分析其实此题有两种解法,一个是整型溢出,一个是double free。因为暂时只搞懂了double free,先写double free的解法运行程序大概可以看到
2020-11-18 15:24:35
441
转载 【PWN系列】攻防世界 RECHO 题解
个人博客地址http://www.darkerbox.com欢迎大家学习交流参考网址:https://www.freesion.com/article/5370510581/参考网址写的很详细。转载一下。
2020-11-03 12:16:10
513
1
bugku题的web类解析
2019-01-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人