shiro 1.5.1漏洞复现
Apache Shiro 认证绕过漏洞(CVE-2020-1957)
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
在Apache Shiro 1.5.2以前的版本中,在使用Spring动态控制器时,攻击者通过构造
..;
这样的跳转,可以绕过Shiro中对目录的权限限制。
漏洞环境
我们先下载环境,在github有别人直接搭建好的docker环境我们直接拿来用即可
git clone git://github.com/vulhub/vulhub.git cd vulhub/shiro/CVE-2020-1957/ docker-compose up -d
访问8080端口即可,由于我映射docker映射的8083端口所以访问的就是8083端口
影响版本
Apache Shiro <= 1.5.1
漏洞复现
该框架会对admin的所有页面进行权限校验,我们访问管理页面/admin/时页面将会被重新定义到登陆界面
我们可以构造恶意请求来绕过权限校验来访问到管理页面,由于decodeAndCleanUriString 以 ;做截断后面的请求,所以我们可以构造恶意请求/EDI/..;/admin/,当客户端请求URL:/EDI/..;/admin/时,shiro内部处理得到校验URL为/EDI/..然后通过校验,然后springboot会处理每个进入的request请求,/EDI/..;/admin/的请求最终会访问管理页面/admin/成功。