进入某SRC的某站点后,发现一个文件上传功能点,可以上传jpg,png,pdf,doc,gif等文件,任意上传了一个1.gif文件发现返回的储存桶文件名还是1.gif,没有对文件名加时间戳处理或者进行hash处理,那么此时可以直接进行文件覆盖操作。
上传的文件所在储存桶:http://openxxxx.oss-cn-hzfinance.aliyuncs.com
既然上传的文件名可控,那么我们首要目标是不是就是上传一个同名文件去覆盖储存桶中的原有文件,但是我们又不知道储存桶中目前存在的文件名称,我们就无法做到上传相同名称的文件去覆盖它,此时应该怎么办呢?
重点:
直接利用谷歌语法!利用谷歌语法寻找到openxxxx.oss-cn-hzfinance.aliyuncs.com这个域名在互联网上公开的文件,或是图片文件,或是Pdf文档,或是Docx文档
谷歌语法:
inurl:openxxxx.oss-cn-hzfinance.aliyuncs.com
site:openxxxx.oss-cn-hzfinance.aliyuncs.com
该储存桶可以看到互联网上公开了许多的PDF文档:
通过谷歌语法搜集整理后发现以下Pdf文件地址:
文件①:
http://openxxxx.oss-cn-hzfinance.aliyuncs.com/apt_care_file/5683667808116.pdf
文件②:
http://openxxxx.oss-cn-hzfinance.aliyuncs.com/apt_care_file/8521293831924.pdf
文件③
http://openxxxx.oss-cn-hzfinance.aliyuncs.com/apt_care_file/4678935175716.pdf
文件④
http://openxxxx.oss-cn-hzfinance.aliyuncs.com/apt_care_file/1935744040592.pdf
由上述链接可知,我可以覆盖的文件名为:
①5683667808116.pdf
②8521293831924.pdf
③4678935175716.pdf
④1935744040592.pdf
未进行覆盖前,PDF文件①如下图所示:
http://openxxxx.oss-cn-hzfinance.aliyuncs.com/apt_care_file/5683667808116.pdf
尝试进行覆盖5683667808116.pdf后:
http://openxxxx.oss-cn-hzfinance.aliyuncs.com/apt_care_file/5683667808116.pdf
原PDF文件损坏,覆盖成功!这意味着,该储存桶互联网公开的文件将可以被直接覆盖。
修复方案:
服务器后端上传完文件处理文件名时加时间戳或对文件取md5进行hash存储!
原文始发于微信公众号(迪哥讲事):桶文件覆盖之谷歌语法显神功
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论