热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

shiro反序列化搭建、利用、复现、漏洞原理

前言该篇文章比较详细的介绍,****,供大家使用。shiro反序列化搭建、利用、复现、漏洞原理前言1.shiro反序列化漏洞介绍1.1.漏洞原理1.2
前言

该篇文章比较详细的介绍,****,供大家使用。



shiro反序列化搭建、利用、复现、漏洞原理

  • 前言
  • 1.shiro反序列化漏洞介绍
    • 1.1.漏洞原理
    • 1.2.漏洞特征
  • shiro反序列化漏洞搭建
    • 安装docker
    • 从镜像仓库拉取镜像
    • 开启shiro漏洞网页
  • shiro反序列化漏洞利用复现
    • shiro反序列化漏洞综合利用工具v2.2
      • 1.输入URL,检测是否存在shiro框架
      • 2爆破密钥
      • 3.检测当前shiro框架利用链(建议直接爆破)
      • 4.输入URL,检测是否存在shiro框架
      • 5.命令执行
  • 关闭shiro
    • 查询当前运行容器ID
    • 关闭容器


1.shiro反序列化漏洞介绍

1.1.漏洞原理

在Shiro框架下

  1. 框架供了记住密码的功能(RememberMe)用户登陆成功后会生成一个经过加密的COOKIE
  2. 其COOKIE的RememberMe的Value的值是经过序列化、AES加密和base64编码后得到的结果。
  3. 由于使用了AES加密,在Shiro1.2.4版本之前AES加密默认密钥的Base64编码值为kPH+bIxk5D2deZiIxcaaaA==,于是就可得到Payload的构造流程:

恶意命令–>序列化–>AES加密–>base64编码–>发送COOKIE–>回显数据–>数据解码
其中


1.2.漏洞特征


  1. 未登录的情况下,请求包的COOKIE中没有rememberMe字段返回包set-COOKIE里也没有deleteMe字段
  2. 登录失败的话,返回包set-COOKIE里有rememberMe=deleteMe字段
  3. 不勾选记住密码,登录成功后,返回包set-COOKIE里有rememberMe=deleteMe字段。但是之后的所有请求中COOKIE都不会有RememberMe字段
  4. 勾选记住密码,登录成功后,返回包set-COOKIE里有rememberMe=deleteMe字段,还会有remember字段,之后的所有请求中COOKIE都会有rememberMe字段
  5. 可以在COOKIE后面自己加一个rememberMe=1,看返回包有没有rememberMe=deleteMe




shiro反序列化漏洞搭建


安装docker


sudo apt-get install -y docker-compose

在这里插入图片描述



从镜像仓库拉取镜像


docker pull medicean/vulapps:s_shiro_1

我的已经下载好了,如下图
在这里插入图片描述



开启shiro漏洞网页

默认端口为8080,下面命令给他换成80端口,如果占用可以设置其他端口

docker run -d -p 80:8080 medicean/vulapps:s_shiro_1

在这里插入图片描述
然后访问linux的IP地址就可以看见网页了,说明你搭建成功了
在这里插入图片描述



shiro反序列化漏洞利用复现

这里我们使用图形工具进行利用,简单易懂适合新手小白。

shiro反序列化漏洞综合利用工具v2.2

在这里插入图片描述



1.输入URL,检测是否存在shiro框架

在这里插入图片描述



2爆破密钥

如果:爆破成功->自动填写密钥
如果:爆破失败->指定密钥为空
一般密钥是这个,可以试试

kPH+bIxk5D2deZiIxcaaaA==

在这里插入图片描述



3.检测当前shiro框架利用链(建议直接爆破)

建议直接爆破,如图,我检测后返回我未找到构造链,所有我还是得爆破
在这里插入图片描述



4.输入URL,检测是否存在shiro框架

爆破利用链成功后显示请尝试进行功能区利用,这样我们基本就算成功了
在这里插入图片描述



5.命令执行

可以执行linux命令了

whoami

在这里插入图片描述

关闭shiro

查询当前运行容器ID


docker ps


关闭容器


docker stop ID

在这里插入图片描述


推荐阅读
author-avatar
wInnIe小店
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有