温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

发布时间:2021-12-28 20:27:01 来源:亿速云 阅读:199 作者:柒染 栏目:安全技术

本篇文章给大家分享的是有关如何进行Shiro权限绕过漏洞CVE-2020-1957复现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

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。(不修改也可)

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

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

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

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

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

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

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

public String hello(@PathVariable Integer currentPage) {

return "hello";

}如何进行Shiro权限绕过漏洞CVE-2020-1957复现

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

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

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

0x04漏洞复现

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

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

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

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

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

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

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

如何进行Shiro权限绕过漏洞CVE-2020-1957复现

0x05修复建议

建议升级至最新版本

以上就是如何进行Shiro权限绕过漏洞CVE-2020-1957复现,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI