Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用

这篇具有很好参考价值的文章主要介绍了Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Shiro反序列化漏洞-CVE-2016-4437原理

将java对象转换为字节序列(json/xml)的过程叫序列化,将字节序列(json/xml)恢复为java对象的过程称为反序列化。

Shiro框架提供了“记住我”的功能,用户登陆成功后会生成经过加密并编码的cookie,cookie的key为RememberMe,cookie的值是经过序列化的,使用AES加密,再使用base64编码,服务端在接收cookie时:
检索key的值Base64解码,AES解密进行反序列化时未过滤处理,造成漏洞
攻击者使用shiro默认的密钥构造恶意序列化对象进行编码来伪造用户的cookie,服务器反序列化时触发漏洞
有的用户使用开源shiro框架,并没有修改配置文件中的默认密钥,即密钥泄露

二、shiro漏洞指纹

①在请求包的cookie中为?rememberMe字段赋任意值
②返回包中存在set-Cookie:remeberMe=deleteMe
③URL中有shiro字样
④有时候服务器不会主动返回remeberMe=deleteMe,直接发包即可

三、docker靶场搭建

进入shiro靶场目录,输入命令:docker-compose up -d
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具
访问:locathost:8080,有“记住我”功能
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具
输入admin:vulhub,选中“记住我”,抓包,直接发送源数据包,观察返回的数据包中是否存在关键字:
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具

四、工具利用

下载shiro利用工具:shiro_attack-2.2.jar
本地cmd进入工具目录,前提已安装并配置好java环境
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具
其中date中存在的文件,里面包含上百个shiro开源默认密钥Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具

命令: java -jar .\shiro_attack-2.2.jar
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具

输入相关的信息,爆破出密钥:
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具

检测当前利用链:
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具
命令执行:uname -a
Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用,shiro反序列化漏洞,shiro反序列化漏洞,docker靶场,shiro_attack工具
执行成功

五、修复建议

1、使用开源shiro框架时,修改默认密钥
2、代码审计,全局搜索 “setCipherKey(Base64.decode(” 关键字,或者"setCipherKey"方法,Base64.decode()中的字符串就是shiro的密钥,要确保该密钥的安全性
3、WAF拦截Cookie中长度过大的rememberMe值文章来源地址https://www.toymoban.com/news/detail-588553.html

到了这里,关于Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Shiro1.2.4反序列化漏洞

    目录 Shiro1.2.4反序列化漏洞 一、JRMP协议 二、漏洞原理 三、复现步骤 四、修复和防御 ​JRMP全称为Java Remote Method Protocol,也就是Java远程方法协议。是RMI(Remote Method Invocation)工作的底层协议。 ​Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Co

    2024年02月01日
    浏览(28)
  • Shiro反序列化漏洞综合利用工具Shiro Attack使用教程

    目录 漏洞扫描 利用链检测 执行命令 注入蚁剑内存马 将目标网站输入在目标地址栏中吗,点击爆破密钥,如果发现key,则可以利用

    2024年02月13日
    浏览(27)
  • RuoYi v4.2 Shiro反序列化漏洞

    反序列化漏洞 漏洞原理 反序列化漏洞是基于序列化和反序列化的操作,在反序列化——unserialize()时存在用户可控参数,而反序列化会自动调用一些魔术方法,如果魔术方法内存在一些敏感操作例如eval()函数,而且参数是通过反序列化产生的,那么用户就可以通过改变参数来

    2024年02月01日
    浏览(39)
  • Apache Shiro反序列化漏洞研究及解决方法

    前言 一个阳光明媚的午休,我正惬意的喝着茶听着音乐,享受美好生活的时候,客户的QQ头像闪动了,原以为是出了什么新需求临时需要调整,没想到客户反馈的是平台出现了严重漏洞,不敢小视,抄起电脑开弄 我根据客户给出的安全厂商反馈的问题,总结如下: 1,Shiro反

    2024年02月11日
    浏览(39)
  • 【shiro】shiro反序列化漏洞综合利用工具v2.2(下载、安装、使用)

    shiro反序列化漏洞综合利用工具v2.2下载: 链接:https://pan.baidu.com/s/1kvQEMrMP-PZ4K1eGwAP0_Q?pwd=zbgp 提取码:zbgp 其他工具下载: 除了该工具之外,github上还有其他大佬贡献的各种工具,有许多python编写的工具,功能简单,可以作为理解shiro漏洞原理并编写自己工具的教材。 说明 :

    2023年04月08日
    浏览(37)
  • shiro550反序列化漏洞原理与漏洞复现(基于vulhub,保姆级的详细教程)

    本文所有使用的脚本和工具都会在文末给出链接,希望读者可以耐心看到最后。 啥是shiro? Shiro是Apache的一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理。使用 Shiro 易于理解的 API,可以快速轻松地对应用程序进行保护。 shiro550反序列化原理 cve编号:

    2024年02月05日
    浏览(44)
  • Apache Shiro RememberMe 1.2.4 反序列化过程命令执行漏洞【原理扫描】

    文章目录 一、分析定位 1. 漏洞描述 2. 项目引发漏洞简述 二、 若依系统 2.1. 版本升级 2.2. 配置文件 2.3. 推荐做法 2.4. 栗子 2.5. 项目场景 三、Gus系统 3.1. shiro版本升级 3.2. 调用重新生成 3.3. 生成工具类 shiro漏洞补充: 一、分析定位 1. 漏洞描述 2. 项目引发漏洞简述 若依/Guns管

    2024年02月15日
    浏览(34)
  • ActiveMQ 反序列化漏洞 (CVE-2015-5254)复现

    1、Apache ActiveMQ Apache ActiveMQ是Apache软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等。 2、漏洞产生原理 该组件程序造成的漏洞不限制代理中可以序列化的类。远程攻击者可以使一个特殊的序列化 Java 消息服务 (JMS) ObjectMessage 对象利用此漏

    2024年02月10日
    浏览(33)
  • CVE-2023-21839:Weblogic反序列化漏洞复现

    声明:仅供学习参考使用,请勿用作违法用途,否则后果自负 在进行漏洞复现前简单描述一下什么是序列化和反序列化: 1、序列化和反序列化的定义: (1)Java序列化就是指把Java对象转换为字节序列的过程。 Java反序列化就是指把字节序列恢复为Java对象的过程。 (2)序列化最重

    2024年02月13日
    浏览(29)
  • Weblogic反序列化(CVE-2023-21839)漏洞复现

    序列化(Serialization):将对象的状态信息转换为可以存储或传输的形式的过程,一般将对象转换为字节流。序列化时,对象的当前状态被写入到临时或持久性存储区(文件、内存、数据库等)。 反序列化(Deserialization):从序列化的表示形式中提取数据,即把有序字节流恢

    2024年02月07日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包