Shiro 认证绕过漏洞 CVE-2020-1957 漏洞复现
1.漏洞描述
Apache Shiro 是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
CVE-2020-1957,Spring Boot中使用 Apache Shiro 进行身份验证、权限控制时,可以精心构造恶意的URL,利用 Apache Shiro 和 Spring Boot 对URL的处理的差异化,可以绕过 Apache Shiro 对 Spring Boot 中的 Servlet 的权限控制,越权并实现未授权访。
漏洞影响:
Apache Shiro < 1.5.1
2.漏洞环境搭建
Ubuntu虚拟机 ip: 192.168.241.129
vulhub 进入/vulhub-master/shiro/CVE-2020-1957
使用命令:
cd vulhub/shiro/CVE-2020-1957
docker-compose up -d
访问:ip+8080
192.168.241.129:8080
3.漏洞复现
使用BurpSuite抓取数据包,访问/admin/
目录
回显302跳转,,构造恶意请求
/xxx/..;/admin/
即可绕过权限校验,访问到管理页面
URL请求过程:
- 客户端请求URL:
/xxx/..;/admin/
- Shrio 内部处理得到校验URL为
/xxxx/..
,校验通过 - SpringBoot 处理
/xxx/..;/admin/
, 最终请求/admin/
, 成功访问了后台请求