Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。Shiro框架直观、易用,同时也能提供健壮的安全性。在Apache Shiro编号为550的 issue 中爆出严重的 Java 反序列化漏洞。

漏洞原理:

以后研究透彻了再写 暂时只写利用:D

影响版本:

Apache Shiro < 1.2.4

特征判断:

返回包中包含rememberMe=deleteMe字段

如图:

漏洞利用:

1,环境搭建
获取docker镜像
docker pull medicean/vulapps:s_shiro_1
启动docker镜像:
docker run -d -p 8080:8080 medicean/vulapps:s_shiro_1
2,利用工具

https://github.com/feihong-cs/ShiroExploit

如图:

3,漏洞利用

图形化界面傻瓜式操作 :)

添加需要检测的网址,事实上响应包里面存在rememberMe=deleteMe字段我们都可以进行检测一下,这里不仅是Shiro版本小于1.2.4的,有部分Shiro升级后还是存在反序列化漏洞,详情介绍:https://mp.weixin.qq.com/s/NRx-rDBEFEbZYrfnRw2iDw

直接下一步趴,相当于是默认选项了,在ShiroExploit工具的github介绍上,对使用 ceye.io 进行漏洞检测的解释为:

  • 可以不进行任何配置,配置文件中已经预置了 CEYE 域名和对应的 Token,当然也可以对其进行修改。

  • 程序会首先使用 URLDNS 筛选出唯一 Key,然后依次调用各个 Gadget 生成 Payload

  • 缺点:程序会使用 API:http://api.ceye.io/v1/records?token=a78a1cb49d91fe09e01876078d1868b2&type=dns&filter=[UUID] 查询检测结果,这个 API 有时候会无法正常访问,导致在这种方式下无法找到 Key 或者有效的 Gadget

这里检查是否存在默认的key,因为很多代码都是抄来抄去的,所以很多应用的key值是相同的,Shiro key 100,详情在:https://mp.weixin.qq.com/s/sclSe2hWfhv8RZvQCuI8LA

日常不建议全部加载尝试,如遇到常用key跑不出来的情况可尝试全部跑一遍。

可以看到找到匹配的key值,同时当反弹shell这些按钮能够选择和输出的话,证明反序列化漏洞是存在的,接下来就是反弹shell主机上线了,相信大师傅们比我更熟悉,冲鸭!

参考链接:

Shiro remeberMe反序列化漏洞复现(Shiro-550)的更多相关文章

  1. Apache Shiro反序列化漏洞复现

    Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system res ...

  2. 25. Apache Shiro Java反序列化漏洞

    前言: 最近在审核漏洞的时候,发现尽管Apache shiro这个反序列化漏洞爆出来好久了,但是由于漏洞特征不明显,并且shiro这个组件之前很少听说,导致大厂很多服务还存在shiro反序列化的漏洞, ...

  3. WebLogic XMLDecoder反序列化漏洞复现

    WebLogic XMLDecoder反序列化漏洞复现 参考链接: https://bbs.ichunqiu.com/thread-31171-1-1.html git clone https://g ...

  4. Jboss反序列化漏洞复现(CVE-2017-12149)

    Jboss反序列化漏洞复现(CVE-2017-12149) 一.漏洞描述 该漏洞为Java反序列化错误类型,存在于jboss的HttpInvoker组件中的ReadOnlyAccessFilter过滤 ...

  5. jboss反序列化漏洞复现(CVE-2017-7504)

    jboss反序列化漏洞复现(CVE-2017-7504) 一.漏洞描述 Jboss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HT ...

  6. php反序列化漏洞复现过程

    PHP反序列化漏洞复现 测试代码 我们运行以上代码文件,来证明函数被调用: 应为没有创建对象,所以构造函数__construct()不会被调用,但是__wakeup()跟__destruct()函数都 ...

  7. php反序列化漏洞复现

    超适合小白的php反序列化漏洞复现 写在前头的话 在OWASP TOP10中,反序列化已经榜上有名,但是究竟什么是反序列化,我觉得应该进下心来好好思考下.我觉得学习的时候,所有的问题都应该问3个问题: ...

  8. fastjson =< 1.2.47 反序列化漏洞复现

    fastjson =< 1.2.47 反序列化漏洞复现 HW期间爆出来一个在hw期间使用的fastjson 漏洞,该漏洞无需开启autoType即可利用成功,建议使用fastjson的用户尽快升 ...

  9. Fastjson反序列化漏洞复现

    Fastjson反序列化漏洞复现 0x00 前言 对Fastjson反序列化漏洞进行复现. 0x01 漏洞环境 靶机环境:vulhub-fastjson-1.2.24 ip:172.16.10.18 ...

随机推荐

  1. 论文解读 - MaskGAN:BETTER TEXT GENERATION VIA FILLING IN THE _____

    1 简介 文本生成是自然语言处理中一个重要的研究领域,具有广阔的应用前景.当前主流的用来进行文本生成的模型主要是Seq2Seq模型,通常利用maximum likelihood和teacher for ...

  2. C语言中利用clock设计一个简单的定时器

    time.h是C/C++中的日期和时间头文件,用于需要时间方面的函数,定义了四个变量类型.两个宏和各种操作日期和时间的函数. 其中计时函数是clock(),而与其相关的数据类型是clock_t.clo ...

  3. 简单STL

    string: string s="5418340"; sort(s.begin(),s.end()); cout<<s; /**begin是头迭代器,end是尾迭代器 ...

  4. ceph bluestore的db分区应该预留多大的空间

    前言 关于bluestore的db应该预留多少空间,网上有很多资料 如果采用默认的 write_buffer_size=268435456 大小的话 那么几个rocksdb的数据等级是 L0: in ...

  5. 关于android.view.InflateException【转载】

    在AndroidStudio中编译没有问题,但是运行时会crash,常发生于自定义View的引用.出现问题的原因大致分为以下几种 1.引用View的路径问题:如果自定义的view为CustomerVi ...

  6. SpringBoot整合MyBatis,HiKari、Druid连接池的使用

    SpringBoot整合MyBatis 1.创建项目时勾选mybatis.数据库驱动.   mysql驱动默认是8.x的版本,如果要使用5.x的版本,创建后到pom.xml中改. 也可以手动添加依赖 ...

  7. 使用iOS 设备管理器 iMazing导出苹果设备中的录音文件

    iMazing是一款功能强大的苹果设备管理软件,能为用户提供便捷的录音文件导出功能.用户可以直接将录音文件从苹果设备中导出,接下来,就让小编为大家演示一下如何操作吧. 图1:iMazing界面 1.打 ...

  8. MathType中的条件概率的输入

    条件概率公式是高中数学的概率知识中比较常用的一个公式,今天我们来介绍一下在MathType中如何输入条件概率公式. 具体步骤如下: 步骤一 打开专业的公式编辑软件MathType 7,在输入框中输入& ...

  9. leetcode116. 填充每个节点的下一个右侧指针

    给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下:struct Node {  int val;  Node *left;  Node *right;  Node ...

  10. Java(8)I/O

    目录 一.File类 1.File类概述 2.File类实例化 3.File类常用方法 二.IO流的原理 1.IO流的原理 2.input和output的理解 三.IO流的分类 1.分类 2.图示 3 ...