影响范围

  • Apache Shiro 1.0.0-incubating

漏洞类型

权限绕过

操作系统限制

配置要求

  • 在 Shiro 配置文件中设置了基于路径的访问控制规则

漏洞利用

登录管理后台,信息泄露

利用原理

Shiro1.1.0 版本之前进行安全校验前缺少对 URL 标准化处理,Shiro 拦截器执行的是严格的字符串匹配或者正则匹配,就会认为/./admin 与/admin/不同(./当前目录,../上一级目录);后端 Web 容器为了兼容性,会自动解析 URL 中的相对路径符号

漏洞复现

现成的 vulhub 来拉取镜像

1
2
3
4
5
6
#下载vulhub源代码
git clone https://github.com/vulhub/vulhub.git
#进入漏洞目录
cd vulhub/shiro/CVE-2010-3863
#拉取镜像
docker-compose up -d

用 burpsuite 抓取 http://靶机 ip:8080/admin/

1773377933167

发送到 Repeater 模块

1773377963803

直接发送会返回 302,重定向到登录页面

1773377976393

修改路径/./admin/

1773377992451

发送后返回 200,绕过登录

1773378034342

直接访问没办法直接复现,可能原因是浏览器自动帮忙修复错误的 URL,而 Burpsuite 不会修复