title: 漏洞复现-Apache Shiro 认证绕过漏洞(CVE-2020-1957)
abbrlink: '8397054'
date: 2023-02-06 13:32:56
tags: 漏洞复现

环境: vulhub

Apache Shiro 认证绕过漏洞(CVE-2020-1957)

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

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

参考链接:

环境搭建

执行如下命令启动一个搭载Spring 2.2.2与Shiro 1.5.1的应用:

docker-compose up -d

环境启动后,访问http://your-ip:8080即可查看首页。

这个应用中对URL权限的配置如下:

@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;
}

复现

  • 启动环境image-20230206134441334

  • 网页界面展示

image-20230206134539568

  • 测试 : 直接进入admin目录会直接跳转到登录界面

image-20230206134707546

  • 状态码是302

  • 会直接跳转到下面这个界面

image-20230206134743657

漏洞利用

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

image-20230206135034588

image-20230206135107754

  • 这次成功状态码是200