记一次失败的文件上传

admin 2025年1月2日23:25:23评论1 views字数 614阅读2分2秒阅读模式
前言
记一次失败的文件上传

这些年来,攻防双方交战,我认为文件上传在Web安全领域应该是逐渐成为大部分人的痛点的,比如我下面遇到的情况,你们应该有遇到过吧?

目标环境

记一次失败的文件上传

可以看到,目标支持PHP文件,使用了Nginx容器。

说明:这里上传任意文件都会以时间戳命名,而且仅保留单个后缀,不存在类似于test.jpg.php的文件命名。

0x01 上传图片

记一次失败的文件上传

上传jpg文件,正常解析。

0x02 上传PHP文件

记一次失败的文件上传

上传php文件,无法解析,提示网关错误。

0x03 测试文件上传

记一次失败的文件上传

我想到先确认目标是否拒绝解析php文件,

于是上传了一个txt文件,访问正常,

尝试更改目标文件后缀为php,提示网关错误;

再尝试更改为abc,很显然,文件不存在。

说明不管php文件是否存在,都拒绝解析。

0x04 Fuzz模糊测试

记一次失败的文件上传

既然有些文件能解析,有些文件不能解析,那就用Burpsuite去Fuzz一下可以解析或者访问的文件,发现Php和Php4的响应是404,说明即使文件不存在,也没有拒绝解析。

思路明确了,尝试上传Php和Php4文件:

记一次失败的文件上传

均自动下载到本地,失败。

最后考虑到是Nginx容器,

尝试Nginx解析漏洞,404,失败......

0x05 总结

1.目标限制目录解析php文件。

Nginx.conf 代码如下

记一次失败的文件上传

2.不支持或不解析的文件后缀,自动下载。

例如:asp、jsp、Php、Php4等。

Nginx.conf 代码如下:

记一次失败的文件上传

江郎才尽,遂放弃。

原文始发于微信公众号(苏雅图的雨):记一次失败的文件上传

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月2日23:25:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次失败的文件上传https://cn-sec.com/archives/1693926.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息