CVE-2020-1957
影响范围:
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/,可以看到绕过了登录

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