1. 首页
  2. 渗透测试

记一次前台任意文件下载漏洞挖掘

作者:hackerhack     原文地址:https://xz.aliyun.com/t/10328

文章中所涉及漏洞已交给相关漏洞平台

1、起因

日常闲逛,翻到了某后台系统

记一次前台任意文件下载漏洞挖掘

 

先是日常手法操作了一番,弱口令走起

 

admin/123456 yyds!

 

记一次前台任意文件下载漏洞挖掘

U1s1,这个后台功能点少的可怜,文件上传点更是别想

 

不过那个备份管理的界面引起了我的兴趣,似乎有点意思

 

记一次前台任意文件下载漏洞挖掘

filename参数后面直接跟上了文件名,这很难让人不怀疑存在任意下载漏洞

抓包,放到burp中,发现果然存在任意文件下载

 

记一次前台任意文件下载漏洞挖掘

 

2、经过

经过fofa收集,我发现这是一个小通用,正当我打算兴致勃勃的打一发别的目标时,却发现这只是个后台洞,backup功能点需要管理员权限

 

记一次前台任意文件下载漏洞挖掘

直接302跳转了,晕

 

运用了常规手法,也bypass失败了

 

好了,此处漏洞挖掘到此结束

 

身为一个有菜又爱玩的家伙,我怎么可能轻言放弃呢?

 

本来打算批量扫备份拿源码,但后面发现,github的链接就在后台介绍处。。。

记一次前台任意文件下载漏洞挖掘

好家伙,我直呼好家伙,真是踏破铁鞋无觅处

 

记一次前台任意文件下载漏洞挖掘

 

拿到源码,赶紧在本地翻配置文件

 

spring+shiro的典型组合,嗯,刚好没学到过

 

记一次前台任意文件下载漏洞挖掘

凭着典型的脚本小子的思想,我考虑到了shiro的权限分配的较死,从逻辑层绕过估计是中彩票

 

想到f12sec有位师傅发表过shiro权限绕过的文章,可以利用shiro权限绕过,达到前台任意下载

 

但是尝试了网上公开的几种exp,发现均失败了

 

/;/——>302跳转

/;a/——>302跳转

末尾加上”/”——>302跳转

/fdsf;/../——>302跳转

怎么回事小老弟,我的200呢w(゚Д゚)w

 

最后,发现是我的姿势错了,在https://www.freebuf.com/vuls/231909.html中,我找到了答案

先了解点前置知识(大佬绕过):

Shiro的URL路径表达式为Ant 格式,路径通配符支持?***。

 

?:匹配一个字符
*:匹配零个或多个字符串
**:匹配路径中的零个或多个路径

上面的文章里解释的很清楚了,如果URI中存在;号的话,则会删除其后面的所有字符。

/fdsf;/../hello/1/最终也就变成了/fdsf。

而我们这款web应用遇到不符合的目录就直接跳转了,所以,想要利用这个权限绕过,必须要有以下条件

1、存在,并且是anon权限的目录

此外只要让路径规范化处理完后匹配上anon配置的即可。

比如说: /noAuth;/../backup/download

很幸运,这款web应用中就有这样的目录

记一次前台任意文件下载漏洞挖掘

经过测试,images目录可行

然后手动构造,burp发包,芜湖,成功前台任意下载!

记一次前台任意文件下载漏洞挖掘

原创文章,作者:mOon,如若转载,请注明出处:https://www.moonsec.com/3908.html

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息