任意文件上传是什么?
文件上传是Web 应用必备功能之一,如,头像上传,附件分享等。如果服务器配置不当或者没有进行足够的过滤,Web 用户就可以上传任意文件,包括恶意脚本文件,exe 程序等等,这就造成了任意文件上传漏洞。
如果服务器配置不当或没有进行足够的对文件的验证和过滤(根据后缀名、内容、类型检测过滤),导致用户可以上传任意文件,包括恶意的脚本文件,这就是任意文件上传漏洞。
文件上传漏洞有以下的限制条件:
- Web 服务器开启文件上传功能,Web 用户可以使用该功能。
- Web 用户对目标目录具有可写权限,甚至具有执行权限。一般情况下,Web 目录都有执行权限。
- 完美利用意味着文件可以执行,也就是说代码可以被服务器解析。
- 服务器开启了PUT方法。
该漏洞为什么会出现?
服务器配置不当,开启了PUT方法。
Web应用开放了文件上传功能,没有对上传的文件做足够的限制和过滤在程序开发部署时,没有考虑以下因素,导致限制被绕过
- 代码特性;
- 组件漏洞
- Web容器漏洞
- 系统特性
- …
PUT方法是一种HTTP的请求方法,它很不安全,如果开启了PUT方法,就会造成文件上传漏洞。并且如果web应用开启了文件上传功能,但是对上传的文件的过滤不够,也会出现该漏