文件上传漏洞
2015-05-12 12:27
288 查看
关键是文件上传之后服务器端的处理、解释文件的过程是否安全。一般的情况有:
-1. 上传文件WEB脚本语言,服务器的WEB容器解释并执行了用户上传的脚本,导致代码执行;
-2. 上传文件FLASH策略文件crossdomain.xml,以此来控制Flash在该域下的行为;
-3. 上传文件是病毒、木马文件,攻击者用以诱骗用户或管理员下载执行;
-4. 上传文件是钓鱼图片或为包含了脚本的图片,某些浏览器会作为脚本执行,实施钓鱼或欺诈;
结一点:文件上传的文件载体要么在服务器端具备可执行性,要么具备影响服务器端行为的能力,其发挥作用还需要具备以下几个条件:
-1. 上传的文件具备可执行性或能够影响服务器行为,所以文件后所在的目录必须在WEB容器覆盖的路径之内;
-2. 用户可以从WEB上访问这个文件,从而使得WEB容器解释执行该文件;
-3. 上传后的文件必须经过安全检查,不会被格式化、压缩等处理改变其内容;
针对文件上传漏洞的特点和必须具备的三个条件,我们阻断任何一个条件就可以达到组织文件上传攻击的目的:
-1. 最有效的,将文件上传目录直接设置为不可执行,对于Linux而言,撤销其目录的'x'权限;实际中很多大型网站的上传应用都会放置在独立的存储上作为静态文件处理,一是方便使用缓存加速降低能耗,二是杜绝了脚本执行的可能性;
-2. 文件类型检查:强烈推荐白名单方式,结合MIME Type、后缀检查等方式;此外对于图片的处理可以使用压缩函数或resize函数,处理图片的同时破坏其包含的HTML代码;
-3. 使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件;
-4. 单独设置文件服务器的域名;
-1. 上传文件WEB脚本语言,服务器的WEB容器解释并执行了用户上传的脚本,导致代码执行;
-2. 上传文件FLASH策略文件crossdomain.xml,以此来控制Flash在该域下的行为;
-3. 上传文件是病毒、木马文件,攻击者用以诱骗用户或管理员下载执行;
-4. 上传文件是钓鱼图片或为包含了脚本的图片,某些浏览器会作为脚本执行,实施钓鱼或欺诈;
结一点:文件上传的文件载体要么在服务器端具备可执行性,要么具备影响服务器端行为的能力,其发挥作用还需要具备以下几个条件:
-1. 上传的文件具备可执行性或能够影响服务器行为,所以文件后所在的目录必须在WEB容器覆盖的路径之内;
-2. 用户可以从WEB上访问这个文件,从而使得WEB容器解释执行该文件;
-3. 上传后的文件必须经过安全检查,不会被格式化、压缩等处理改变其内容;
针对文件上传漏洞的特点和必须具备的三个条件,我们阻断任何一个条件就可以达到组织文件上传攻击的目的:
-1. 最有效的,将文件上传目录直接设置为不可执行,对于Linux而言,撤销其目录的'x'权限;实际中很多大型网站的上传应用都会放置在独立的存储上作为静态文件处理,一是方便使用缓存加速降低能耗,二是杜绝了脚本执行的可能性;
-2. 文件类型检查:强烈推荐白名单方式,结合MIME Type、后缀检查等方式;此外对于图片的处理可以使用压缩函数或resize函数,处理图片的同时破坏其包含的HTML代码;
-3. 使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件;
-4. 单独设置文件服务器的域名;
相关文章推荐
- 文件上传下载漏洞
- 最新PHPcms9.6.0 任意文件上传漏洞
- PHP任意文件上传漏洞(CVE-2015-2348)
- 非法文件上传漏洞技术
- 关于finecms v5 会员头像 任意文件上传漏洞分析
- 攻防:文件上传漏洞的攻击与防御
- fckeditor <= 2.6.4 任意文件上传漏洞
- 米斯特白帽培训讲义 漏洞篇 文件上传
- 文件上传漏洞及解析漏洞总结
- 50. 文件上传篇——文件上传漏洞原理
- 51. 文件上传篇——IIS解析漏洞原理
- phpcms 3.0.0文件上传漏洞
- U-Mail邮件服务系统任意文件上传+执行漏洞(runtime缺陷与验证绕过)
- PHP漏洞全解(九)-文件上传漏洞
- 动网论坛上传文件漏洞的原理以及攻击的代码实现
- 文件上传漏洞原理与实例测试
- 11. 文件上传漏洞
- CKFinder 1.4.3 任意文件上传漏洞
- PHPCMS v9.2.4文件上传漏洞分析【附Exploit】