Shiro 认证绕过漏洞总结

admin 2023年7月20日12:22:12评论41 views字数 1507阅读5分1秒阅读模式

前面章节已经对Shiro的功能和原理进行的简要的介绍,可见:追洞计划之渗透测试篇|Shiro反序列化

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。

在旧版本的Shiro,存在认证绕过漏洞,这里就对这几个漏洞进行总结。

漏洞原理

在前文有提及,Spring Boot中使用 Apache Shiro 进行身份验证、权限控制时,可以精心构造恶意的URL,利用 Apache Shiro 和 Spring Boot 对URL的处理的差异化,可以绕过 Apache Shiro 对 Spring Boot 中的 Servlet 的权限控制,实现未授权访。

即shiro和SpringBoot获取到的URL不相同,导致shiro鉴权后认为该URL有权限访问,Spring则会将用户前往目标URL

CVE-2020-1957|CVE-2020-11989|CVE-2020-13933

漏洞编号 CVE-2020-1957 CVE-2020-11989 CVE-2020-13933
影响版本 Apache Shiro < 1.5.1 Apache Shiro < 1.5.2 Apache Shiro < 1.6
payload /xxx/..;/admin/ /;/test/admin/page /admin/;page
Shrio 处理结果 /xxxx/.. / /admin/
SpringBoot 处理结果 /admin/ /admin/page /admin/;page

CVE-2020-13933 则是匹配非固定地址路由,比如/admin/{name},因为shiro得到的是/admin/,认为可以访问,见:org.apache.shiro.util.AntPathMatcher#doMatch;而Spring得到的是/admin/;page,如果采取固定路由,则会因为找不到;page,从而返回404

漏洞复现

  1. 正常访问管理页面,需要身份验证,会被重定向到登陆页

Shiro 认证绕过漏洞总结

  1. 使用payload可以染过权限校验,访问到后台页面

Shiro 认证绕过漏洞总结

复现过程

拉到底部点击原文可查看B站发布的视频

修复

升级Shiro到最新版本

总结

以上将常见的几个Shiro认证绕过漏洞进行总结,方便各位师傅进行横向对比。

往期回顾

追洞计划之渗透测试篇|Shiro反序列化
病毒分析系列3 | 初步动态分析工具使用

病毒分析系列2 | 使用PE工具进行初步静态分析

病毒分析系列 _ 病毒分析环境搭建

【资源分享】先知社区文章合集

信息收集系列|子域名收集姿势总结

小程序渗透测试系列(一)解密与解包及抓包环境搭建

后记

SpaceSec安全团队热衷分享网络安全相关的技术,希望能和各位师傅们一同成长,后续更新内容将会在公众号中持续更新,欢迎关注交流呀~

欢迎加私人微信:SpaceSec_S(不定期发放粉丝福利!)

Shiro 认证绕过漏洞总结

关注公众号 SpaceSec安全团队,回复关键字 "小程序",即可获得小程序解密工具,“子域名”-获取子域名工具,“先知”-获取先知社区文章合集,“病毒”-获取病毒分析系列工具包。

声明

  1. 本文初衷为分享网络安全知识,请勿利用技术做出任何危害网络安全的行为,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,与SpaceSec安全团队及作者无关!

  2. 文章中部分学习内容来自于网络,回馈予网络,如涉及版权问题,请联系删除。

  3. SpaceSec 保留对文章绝对的解释权,转载与传播时须保证文章的完整性,同时标明出处。未经允许,禁止转载或用于商业用途。

参考

https://github.com/vulhub/vulhub

原文始发于微信公众号(SpaceSec安全团队):Shiro 认证绕过漏洞总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月20日12:22:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Shiro 认证绕过漏洞总结https://cn-sec.com/archives/1893153.html

发表评论

匿名网友 填写信息