CVE-2020-1957 Shiro认证绕过漏洞复现

1 漏洞信息

漏洞名称Shiro认证绕过漏洞
漏洞编号CVE-2020-1957
危害等级高危
CVSS评分7.5
漏洞类型中间件漏洞
漏洞厂商Apache
漏洞组件Shiro
受影响版本Apache Shiro < 1.5.2
漏洞概述使用 Apache Shiro 进行身份验证、权限控制时,可以精心构造恶意的URL,利用Apache Shiro 和 Spring Boot 对URL的处理的差异化,可以绕过Apache Shiro 对 Spring Boot 中的 Servlet的权限控制,越权并实现未授权访。

2 环境搭建

2.1 环境概述

  • Linux操作系统(vulhub)

2.2 搭建过程

拉取镜像并且启动镜像

{width=“5.763194444444444in”
height=“0.55625in”}

3 漏洞复现

通过dirsearch扫描发现有一个admin,但是重定向到了login页面

{width=“5.761805555555555in”
height=“2.435416666666667in”}

访问url,发现需要进行登录

{width=“4.066666666666666in”
height=“3.933333333333333in”}

构造恶意payload,/任意字符/…;admin./,发现绕过登录,成功进入到了admin页面

{width=“5.763194444444444in”
height=“3.689583333333333in”}

{width=“5.761111111111111in”
height=“2.692361111111111in”}

4 漏洞流程

  1. 客户端发起一个url请求:/abc/…;/admin/。

  2. shiro内部进行校验的时候,发现存在;号,因此只校验;号之前的url:/abc/…,没有检验到后面的admin。检验通过。

  3. springboot处理客户发起的url:/abc/…;/admin/时,经过内部的处理,最终请求的是/admin,即成功实现了身份绕过。

5 修复建议

  1. 升级1.5.2版本及以上

  2. 尽量避免使用*通配符作为动态路由拦截器的URL路径表达式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值