CVE-2020-1957

漏洞名称

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

利用条件

Apache Shiro < 1.5.1

漏洞原理

Apache Shiro 是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
CVE-2020-1957,Spring Boot中使用 Apache Shiro 进行身份验证、权限控制时,可以精心构造恶意的URL,利用 Apache Shiro 和 Spring Boot 对URL的处理的差异化,可以绕过 Apache Shiro 对 Spring Boot 中的 Servlet 的权限控制,越权并实现未授权访问

漏洞利用

image-20221227171841273

  • 客户端请求URL: /xxx/..;/admin/
  • Shrio 内部处理得到校验URL为 /xxxx/..,校验通过
  • SpringBoot 处理 /xxx/..;/admin/ , 最终请求 /admin/, 成功访问了后台请求。
  • 构造恶意请求/xxx/..;/admin/,即可绕过权限校验,访问到管理页面。

image-20221227171957440

修复建议

升级版本

参考文章

posted @ 2023-01-06 18:21  crayonxiaoxin  阅读(111)  评论(0)    收藏  举报