Vulhub | Shiro CVE-2020-1957漏洞复现

 

一、    漏洞描述

使用Apache Shiro进行身份验证、权限控制时,可以精心构造恶意的URL,利用Apache Shiro和Spring Boot对URL处理的差异化,可以绕过Shiro对Spring Boot中的Servlet的权限控制,从而越权并实现越权非授权访问。

 

二、    影响版本

Shiro < 1.5.2

 

三、    实验环境

攻击机:Kali Linux 192.168.230.128

靶场:Vulhub shiro CVE-2020-1957

工具:BurpSuite

 

四、    复现过程

1、开启docker环境

 

2、输入127.0.0.1:8080进入靶场环境,

 

3、抓包分析,出现setcookie:rememberMe=deleteMe这个shiro的流量特征

 

4、按照正常流程输入账号密码登陆后进入admin后台

 

5、通过构造url进行绕过验证,构造payload:/xxx/..;/admin/,成功绕过验证进入到admin账户页面

 

五、    实验总结

        对于/xxx/..;/绕过,在shiro中,当拿到/xxx/..;/aa/的时候,会根据 ; 进行截断,认为访问的是/xxx/..,然后再拿着/xxx/..在需要进行权限判断的地方去找,若发现不需要权限校验,则放行至spring进行处理。

       在Spring中会对输入的url进行处理,首先对于/xxx/..;/aa/,先通过removeSemicolonContent去掉 ; 符号,即/xxx/..;/aa/,最终访问的是/aa/,绕过了权限限制。

posted @ 2023-05-26 14:39  GoxHam23  阅读(571)  评论(0编辑  收藏  举报