文章总结: 本文记录了Java代码审计中发现的Shiro鉴权绕过案例。针对SpringBoot集成的Shiro1.3.2版本,审计发现其鉴权配置不严谨。利用该版本存在的路径解析缺陷,构造包含未鉴权前缀与跳转路径的请求,成功绕过权限控制访问后台接口。案例强调了审计需关注组件版本及鉴权规则的逻辑漏洞。 综合评分: 72 文章分类: 代码审计,WEB安全,漏洞分析
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鉴权绕过案例》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论