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/,绕过了权限限制。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现