Files
vulhub/shiro/CVE-2020-1957/README.zh-cn.md
Aaron 63285f61aa
Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled
first commit
2025-09-06 16:08:15 +08:00

1.5 KiB
Raw Permalink Blame History

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

漏洞复现

直接请求管理页面/admin/,无法访问,将会被重定向到登录页面:

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