Apache Shiro权限绕过漏洞(CVE-2020-11989)复现

  • A+
所属分类:安全文章

影响版本

Apache Shiro < 1.5.3


环境搭建

下载https://github.com/l3yx/springboot-shiro


权限配置如下,其中/admin下的路由需要登录才能访问

@BeanShiroFilterFactoryBean shiroFilterFactoryBean(){
ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
bean.setSecurityManager(securityManager());
bean.setLoginUrl("/login");
bean.setSuccessUrl("/index");
bean.setUnauthorizedUrl("/unauthorizedurl");
Map<String, String> map = new LinkedHashMap<>();
map.put("/doLogin", "anon");
map.put("/admin/*", "authc");
bean.setFilterChainDefinitionMap(map);
return bean;}[email protected]("/admin/page")public String admin() {
return "admin page"; }


* :匹配一个或者多个任意的字符。

** 匹配零个或者多个目录。


访问 /test/admin/page,他会302要求登录

Apache Shiro权限绕过漏洞(CVE-2020-11989)复现

访问 /;/test/admin/page , 就能直接绕过Shiro权限验证,访问到/admin路由中的信息

Apache Shiro权限绕过漏洞(CVE-2020-11989)复现

修复建议

升级到最新版

官方已在新版本中修复了该漏洞


下载链接

https://github.com/apache/shiro/releases

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: