影响范围:

  • Apache Shiro 1.0.0-incubating - 1.5.1

漏洞类型:

权限绕过

操作系统限制:

配置要求:

  • Shiro拦截器采用了路径匹配模式

漏洞利用:

登录管理后台,信息泄露

利用原理:

在Shiro的1.5.2之前的版本中,WebUtils.getPathWithinApplication()方法处理URL时候会根据分号对路径进行截断,会认为分号后面不属于路径一部分;而Spring框架在匹配控制器路由时候,会对URL进行标准化处理(例如解析穿越符..),它对分号处理方式不同。二者对请求的解析不一样,攻击者通过特殊构造/;/路径来绕过Shiro的过滤

漏洞复现:

现成的vulhub来拉取镜像

#下载vulhub源代码
git clone https://github.com/vulhub/vulhub.git
#进入漏洞目录
cd vulhub/shiro/CVE-2020-1957
#拉取镜像
docker-compose up -d

抓取http://靶机ip:8080/admin数据包

发送到Repeater模块

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

修改路径/;/admin/

发送后返回200,说明成功绕过登录验证

后续可以直接访问http://公网:8080/;/admin/,可以看到绕过了登录


文章作者: Johan
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Johan的秘密小窝
CVE Shiro
喜欢就支持一下吧