这些年来,攻防双方交战,我认为文件上传在Web安全领域应该是逐渐成为大部分人的痛点的,比如我下面遇到的情况,你们应该有遇到过吧?
可以看到,目标支持PHP文件,使用了Nginx容器。
说明:这里上传任意文件都会以时间戳命名,而且仅保留单个后缀,不存在类似于test.jpg.php的文件命名。
上传jpg文件,正常解析。
上传php文件,无法解析,提示网关错误。
我想到先确认目标是否拒绝解析php文件,
于是上传了一个txt文件,访问正常,
尝试更改目标文件后缀为php,提示网关错误;
再尝试更改为abc,很显然,文件不存在。
说明不管php文件是否存在,都拒绝解析。
既然有些文件能解析,有些文件不能解析,那就用Burpsuite去Fuzz一下可以解析或者访问的文件,发现Php和Php4的响应是404,说明即使文件不存在,也没有拒绝解析。
思路明确了,尝试上传Php和Php4文件:
均自动下载到本地,失败。
最后考虑到是Nginx容器,
尝试Nginx解析漏洞,404,失败......
1.目标限制目录解析php文件。
Nginx.conf 代码如下:
2.不支持或不解析的文件后缀,自动下载。
例如:asp、jsp、Php、Php4等。
Nginx.conf 代码如下:
江郎才尽,遂放弃。
原文始发于微信公众号(苏雅图的雨):记一次失败的文件上传
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论