JAVA代码审计shiro鉴权绕过案例

admin 2026-02-02 00:15:03 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文记录了Java代码审计中发现的Shiro鉴权绕过案例。针对SpringBoot集成的Shiro1.3.2版本,审计发现其鉴权配置不严谨。利用该版本存在的路径解析缺陷,构造包含未鉴权前缀与跳转路径的请求,成功绕过权限控制访问后台接口。案例强调了审计需关注组件版本及鉴权规则的逻辑漏洞。 综合评分: 72 文章分类: 代码审计,WEB安全,漏洞分析


cover_image

JAVA代码审计shiro鉴权绕过案例

原创

学员投稿 学员投稿

进击安全

2026年2月1日 10:01 北京

免责申明

本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。

一、前言

跟着小朋友学了一段代码审计,根据小朋友老师说的寻找到一套源码去进行审计,发现鉴权方式使用shiro方式进行鉴权,回头去看老师鉴权绕过专项课程,最后成功绕过, 这里记录一下当时挖掘的场景,比较简单的一个源码。

二、鉴权分析

这里查看项目结构,可以看到在java代码当中有几个特点,分别为Spring Boot的启动器以及对应的Controller层和Filter等信息,初步可以确定为Spring项目。

查看对应的Filter以及对应preHandle两个方法,都未发现存在鉴权等方式,于是这里专项看到别的信息,发现存在shiro的组件,shiro本身是一个对应的用来鉴权的组件,这里分析是否shiro在进行权限的认证。

这里可以明显看到针对一些路由进行鉴权,当然也有不健全的情况,大致分为以下情况。

/user/路径下:鉴权/sa/路径下:鉴权/jz/路径下:鉴权/login路径:不鉴权/index路径:不鉴权静态资源方法:不鉴权/**所有路径不鉴权。

三、鉴权绕过

这里进行查看对应的shiro版本,这里因为是开源的,本地可以直接进行搭建环境,于是直接看pom.xml文件即可,如果师傅们遇到闭源的源码,可以直接看对应lib包当中寻找版本。

可以看到为1.3.2版本,这个版本通过网上寻找发现是存在鉴权绕过漏洞的,这里进行验证。

这里搭建好了之后可以进行尝试绕过认证。

正常访问jz下的路由是被拦截的,但是我们根据鉴权规则,来构造一个前置不鉴权的路径,在进行跳转路径指向后台路径,即可绕过鉴权。

其中这些是不健全的路径,尝试利用。

广告区域

代码审计培训,目前进行到第四期课程,其中包含基础+进阶课程,其中课程内容如下,一次报名一直可以听(往期+未来)。

同时报名第四期基础课程同样可看,课表如下:

同时具备内部资料以及靶场相关福利,想要了解的师傅可以冲了。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:进击安全 学员投稿 学员投稿《JAVA代码审计shiro鉴权绕过案例》

评论:0   参与:  0