自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 1020

原创 Java反序列化(之)Weblogic反序列化系列 CVE-2016-0638 分析

前言

2022-04-01 16:47:09 1678

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

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

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

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

原创 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 1021 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 1067 2

原创 Java 反序列化(一)必备基础知识

2021-12-08 14:22:55 521

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

原创 Shiro key的另类检测方式

前言很久以前对于Shiro这个洞,都是基于URLDNS来爆破key的,但实际利用场景中,大部分是不出网的,后来出了一个新的检测key的方式,但一直只知道是通过SimplePrincipalCollection这个类来判断的正确的key就不会回显rememberMe=deleteMe,错误的key就会回显rememberMe=deleteMe,但原理未知,今天就来分析一下。返回rememberMe=deleteMe的几种情况key不正确跟踪一下Shiro解密的逻辑,在AbstractReme

2021-11-04 17:33:24 1176

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

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

原创 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 458 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 332

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

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

原创 【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 301

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

原创 使用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 1964

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

原创 对于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 249

原创 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 619 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 719

原创 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 590 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 1135

原创 [漏洞复现] 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 1224 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 310 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 521

原创 我眼里的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 279 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 295

原创 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 500 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 801 2

原创 Java 反序列化(二) URLDNS链分析

前言

2021-03-24 20:45:04 698 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 887 2

原创 防溯源连接WebShell

前言原理就是通过腾讯云的云函数将我们的请求进行转发,目标那里获取到的IP即腾讯云的IP,并且有CDN。实战首先我们登陆到腾讯云的控制台https://console.cloud.tencent.com/scf。第一次使用云函数的时候可能需要授权。点击新建这里直接默认就好,也可以设置一下函数名称和地域。然后点击完成然后依次点击函数服务->函数管理->函数代码。将下面的代码粘贴到index.py中# -*- coding: utf8 -*-import requestsimpor

2021-03-04 10:12:16 1768 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 874

原创 【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 614

原创 【PWN系列】XCTF-4-ReeHY-main-100 Writeup

个人博客地址http://www.darkerbox.com欢迎大家学习交流参考网址:https://www.cnblogs.com/xingzherufeng/p/9885860.html#commentformhttps://blog.csdn.net/seaaseesa/article/details/102907138分析其实此题有两种解法,一个是整型溢出,一个是double free。因为暂时只搞懂了double free,先写double free的解法运行程序大概可以看到

2020-11-18 15:24:35 345

转载 【PWN系列】攻防世界 RECHO 题解

个人博客地址http://www.darkerbox.com欢迎大家学习交流参考网址:https://www.freesion.com/article/5370510581/参考网址写的很详细。转载一下。

2020-11-03 12:16:10 439 1

linux-centos基本命令使用

linux-centos7基本命令的使用,文档是ppt。涉及的是比较基础的linux命令

2019-04-20

命令执行nc的用法提权

这个文档是关于内核2.6.18-194.el5的提权,利用的是nc命令

2019-04-20

bugku题的web类解析

这个是我自习写的bugku的web的解析,其中四个题因为各种原因没有做出来,分别为welcome to bugku,孙xx的博客,login2,login4。也许有写的不好的地方,见谅,

2019-01-29

空空如也

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

TA关注的人

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