热门标签 | 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

在这里插入图片描述


推荐阅读
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
  • 现象:[root@localhost~]#dockerrun-d-p9000:80centos:httpdbinsh-cusrlocalbinstart.shd5b2bd5a7bc ... [详细]
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社区 版权所有