跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

Shiro 权限绕过漏洞复现

精选回复

发布于

Shiro 权限绕过漏洞复现

60120c9682f72.png

0x00简介

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

0x01漏洞概述

Shiro框架通过拦截器功能来对用户访问权限进行控制,如anon, authc等拦截器。anon为匿名拦截器,不需要登录即可访问;authc为登录拦截器,需要登录才可以访问。主要是Spring web在匹配url的时候没有匹配上/导致绕过

0x02影响范围

Apache Shiro < 1.5.3

0x03环境搭建

1.下载实验代码,下载地址:

https://github.com/lenve/javaboy-code-samples/tree/master/shiro/shiro-basic

2.下载完成后将项目导入Java IDEA中,在pom.xml文件可以看到shiro的版本,把版本修改成1.4.2。(不修改也可)

1611714250_6010cecaed926f61329dd.png!small

3.打开maim目录下ShiroConfig.java文件,添加authc拦截器的拦截正则

map.put("/hello/*", "authc");

1611714254_6010cecec8d572158f464.png!small

4. 打开LoginController.java文件,修改路由控制器方法,添加一个方法。

import org.springframework.web.bind.annotation.PathVariable;

@GetMapping("/hello/{currentPage}")

public String hello(@PathVariable Integer currentPage) {

return "hello";

}1611714259_6010ced3151b985ec401b.png!small

1611714266_6010cedad15a6371f2ea2.png!small

5.启动应用点击右上角三角形,运行出现以下图片表示启动成功

1611714275_6010cee3683091106b590.png!small

0x04漏洞复现

1.在浏览器访问http://your-ip:8080/login,可以看到需要登录

1611714284_6010ceec15942f5cd1170.png!small

2.打开Burp访问首页进行抓包,并将抓到的包送到Reapter模块

1611714292_6010cef456f9629781e10.png!small

3.将url修改为/hello/1,发包,可以看到跳转到了登陆界面。

1611714295_6010cef7e22b645815fe8.png!small

4.在url处/hello/1后面再加上一个反斜杠/hello/1/,访问成功

1611714298_6010cefaddfb8cdd4e065.png!small

0x05修复建议

建议升级至最新版本

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。