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

admin 2020年8月24日09:24:01评论1,607 views字数 864阅读2分52秒阅读模式

漏洞分析


https://github.com/apache/shiro/commit/9762f97926ba99ac0d958e088cae3be8b657948d


主要是Spring web在匹配url的时候没有匹配上/导致绕过



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


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

环境搭建


下载代码


https://github.com/lenve/javaboy-code-samples/tree/master/shiro/shiro-basic


导入idea


修改Shiro版本1.4.2


<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.4.2</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.4.2</version>
</dependency>

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


修改ShiroConfig配置文件,添加authc拦截器的拦截正则


ShiroFilterFactoryBean shiroFilterFactoryBean() {
ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
...
...
//map.put("/*", "authc");
map.put("/hello/*", "authc");
bean.setFilterChainDefinitionMap(map);
return bean;
}

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


修改路由控制器方法


@GetMapping("/hello/{currentPage}")
public String hello(@PathVariable Integer currentPage) {
return "hello";
}

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


编译并启动


Your-ip:8080/login

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


漏洞复现


访问/hello/1接口,跳转到了登录页面


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


加上斜杠,过了


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





  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年8月24日09:24:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Shiro 权限绕过漏洞(CVE-2020-1957)复现https://cn-sec.com/archives/100448.html

发表评论

匿名网友 填写信息