Java Shiro反序列化CommonsCollections利用链分析_shiro 利用链(1)


本文是博主的第一篇原创文章,同时博主也是边学java边进行分析的,如有知识性错误或逻辑性问题,希望大家多多批评

这条链是小菜鸡很久之前分析的一条链了,但当时没有写博客,这段时间有空了才来写,所以导致有一些技术细节可能讲的没有到位,因而导致文中有一些地方讲的不是很清楚或有些问题,欢迎大家在评论区或私信批评、交流。如果有什么不懂的,也可以看一下参考的四个链接,讲的都非常的好。

前言

本文主要分析CC1利用链,先介绍了复现环境的搭建(该小节尽量帮大家避避坑,呜呜呜);然后紧跟着讲解了java反序列化和php反序列化漏洞的区别(希望大家不要有惯性思维认为反序列化漏洞都一样,其实java反序列化和php反序列化的差别还是很大的);并介绍了复现学习java反序列化漏洞所需的一些前置知识;最后,也是文章的主体部分,从Sink(即可以触发执行命令的方法等)、chain及source(即利用链的入口点)三个步骤,讲述利用链的构建。


一、环境搭建

  1. JDK版
    本次复现是使用的jdk版本为
    jdk1.8.0_65**。**
    官网下载地址为:https://www.oracle.com/cn/java/technologies/javase/javase8-archive-downloads.html
    注:从官网上下载时,下载的包一直不匹配,明明点的是8u65,但它一直显示其他版本,解决该问题的方法是将路径中的/cn给删掉,就可以正常下载了。
    在这里插入图片描述
    下载完毕后进行安装,然后就需要对IDEA进行配置:

(1) 首先点击File,然后又点击Project Structure
在这里插入图片描述
(2) 然后点击SDKs,将下载的jdk添加到该项目中:
在这里插入图片描述
2. CommonsCollections版本为3.2.1**。**
(1) 配置Maven依赖,下载CommonsCollections3.2.1版本,只需将下述配置添加到pom.xml中即可:

    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
    </dependency>

在这里插入图片描述

(2) 后再Download Sources即可:
在这里插入图片描述
3. 下载相应源码
(1) 后续分析中需要用到sun包下的AnnotationInvocationHandler类文件,但是默认自带的是.class文件,源码是反编译出来的,不方便阅读,因此为了方便调试,需要将其转换为.java文件,需要我们安装源码,下载地址为:https://hg.openjdk.org/jdk8u/jdk8u/jdk/rev/af660750b2f4,下载左侧的zip文件即可。
在这里插入图片描述
(2) 然后解压,进入到相应JDK的文件夹中,里面本来就有个src.zip的压缩包,我们解

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值