查看: 1445|回复: 0

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

[复制链接]
匿名
匿名  发表于 2026-2-1 16:53:00 |阅读模式
免责申明

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

一、前言    跟着小朋友学了一段代码审计,根据小朋友老师说的寻找到一套源码去进行审计,发现鉴权方式使用shiro方式进行鉴权,回头去看老师鉴权绕过专项课程,最后成功绕过, 这里记录一下当时挖掘的场景,比较简单的一个源码。二、鉴权分析
qw1.jpg
    这里查看项目结构,可以看到在java代码当中有几个特点,分别为Spring Boot的启动器以及对应的Controller层和Filter等信息,初步可以确定为Spring项目。
qw2.jpg
    查看对应的Filter以及对应preHandle两个方法,都未发现存在鉴权等方式,于是这里专项看到别的信息,发现存在shiro的组件,shiro本身是一个对应的用来鉴权的组件,这里分析是否shiro在进行权限的认证。
qw3.jpg
    这里可以明显看到针对一些路由进行鉴权,当然也有不健全的情况,大致分为以下情况。/user/路径下:鉴权/sa/路径下:鉴权/jz/路径下:鉴权/login路径:不鉴权/index路径:不鉴权静态资源方法:不鉴权/**所有路径不鉴权。三、鉴权绕过    这里进行查看对应的shiro版本,这里因为是开源的,本地可以直接进行搭建环境,于是直接看pom.xml文件即可,如果师傅们遇到闭源的源码,可以直接看对应lib包当中寻找版本。
qw4.jpg
    可以看到为1.3.2版本,这个版本通过网上寻找发现是存在鉴权绕过漏洞的,这里进行验证。
qw5.jpg
    这里搭建好了之后可以进行尝试绕过认证。
qw6.jpg
    正常访问jz下的路由是被拦截的,但是我们根据鉴权规则,来构造一个前置不鉴权的路径,在进行跳转路径指向后台路径,即可绕过鉴权。
qw7.jpg
    其中这些是不健全的路径,尝试利用。
qw8.jpg

qw9.jpg







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-2-12 08:39 , Processed in 0.021931 second(s), 21 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部