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

在这里插入图片描述


推荐阅读
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • 现象:[root@localhost~]#dockerrun-d-p9000:80centos:httpdbinsh-cusrlocalbinstart.shd5b2bd5a7bc ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
  • 随着我司的应用都开始容器化,相应的ETL流程也需要迁移到容器中。常规的SQL和shell脚本迁移之后执行基本没有问题,主要的问题在于数据接入使用kettle的场景下,kettle启 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
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社区 版权所有