论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
安全
›
网络安全
›
Shiro-认证绕过漏洞(CVE-2020-1957)
Shiro-认证绕过漏洞(CVE-2020-1957)
用多少眼泪才能让你相信
金牌会员
|
2024-9-21 09:58:17
|
显示全部楼层
|
阅读模式
楼主
主题
864
|
帖子
864
|
积分
2594
目次
漏洞原理
源码分析与复现
影响版本
漏洞原理
核心点就是shiro和spring对uri进行共同匹配的时候有缺陷导致的,shiro中很轻易就能绕过,其次spring中对;分号似乎情有独钟,被大牛们发现后也就一下子绕过了。
主流payload:/xxx/..;/admin/
详细后台路由不一定是admin,得看情况而定,但是下面的分析都由admin为后台路由进行分析。
源码分析与复现
情况说明:后台路由为/admin
下面我用vulhub开启对应的靶场
接着访问uri:/xxx/..;/admin
xxx是随便填,而最紧张的认证绕过的是..;能够让你走到admin后台,复现成功了。
在该漏洞中,认证过程需要走两个框架,一个是shiro另一个是spring,uri第一个进入的是shiro接着判断完了才交给spring,这个交给spring的时候也出了问题,下面开始讲解过程。
1.shiro中大概会有这样的过滤器对uri进行匹配,分支判断是否需要认证
这里是设置map.put会出现问题,所以是否出现认证绕过还得看匹配的规则写的如何,这不紧张,我们约定设置为:/admin/** 然后该规则下需要authc,表示需要进行身份认证,这看起来很正常,admin路由确实要求身份认证。
2.接着我们下面开始分析当请求http://xxx.xxxx.com/xxx/..;/admin在后台是如何走的:
首先经过shiro处置惩罚,直接看最紧张的部分,shiro对;分号的处置惩罚。
作用:直接匹配59,即;的ascii码值,发现有分号就返回分号前的字段,否则返回整个uri。
那么这里就拿到uri:xxx/..
3.接下去的函数都是规范化,比如//处置惩罚成/这些就不说了,直接看末了给到拦截器判断的requestURI值为/xx/..,pathMatches就会根据拦截器判断是否为/admin/**,那么很显然不是,现在就相当于你bypass掉了shiro的认证。
4.shiro认证完了就到spring对uri进行认证了
如何拿到uri的这部分就跳过了,重要分析他怎么处置惩罚;的即可
最重要跟进removeSemicolonContentInternal(requestUri)方法,他的作用就是:移除uri中/与/之间的;分号以及;分号后面的内容。
根据这句话可以得知末了的uri应该是:/xxx/../admin/ == /admin/。
../ 为回到上一层目次,就到admin了,认证绕过结束,收工。
影响版本
Shiro < 1.5.3
SpringBoot 的版本 < 2.3
参考文章:
https://www.freebuf.com/articles/web/362350.html
https://blog.spoock.com/2020/05/09/cve-2020-1957/
https://cn-sec.com/archives/1312489.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
用多少眼泪才能让你相信
金牌会员
这个人很懒什么都没写!
楼主热帖
iNeuOS工业互联网操作系统,增加搜索应 ...
安卓期末大作业——单词本APP(源码+任 ...
【Java开源数据库语言】基于SPL如何提 ...
vue3+Element采用递归调用封装导航栏 ...
杭州联合银行 x 袋鼠云:打造智能标签 ...
个人博客系统(附源码)
真正在大厂干了几年,我学会了反内卷[ ...
ssrf实战
攻防世界 new_easypwn 题解
高斯数据库gaussDB(DWS),全网首篇对 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表