欢迎光临
我们一直在努力

文件上传漏洞及解决方法

文件上传漏洞指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力

文件上传后常见的安全问题:

1.上传的文件是web脚本语言,服务器的web容器解释并执行了用户上传的脚本 导致代码执行

2.上传文件是flash的策略文件 crossdomain.xml,黑客用以控制Flash在该域下的行为

3.上传文件是病毒,病毒文件,黑客用以诱骗用户或者管理员下载执行

4.上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈

在大多数情况下,文件上传漏洞一般都指”上传Web脚本能够被服务器解析”的问题,也是通常所说的webshell的问题,要完成这个攻击,要满足如下几个条件:

1.上传的文件能够被web容器解释执行,所以文件上传后所在目录要是web容器所覆盖到的路径

2.用户能够从web上访问这个文件。如果文件上传了,但用户无法通过web访问或者无法使得web容器解释这个脚本,那也不能称为漏洞

3.用户上传的文件若被安全检查,格式化,图片压缩等功能改变了内容,则也会导致攻击不成功

设计安全的文件上传功能

1.文件上传的目录设置为不可执行

只要WEB容器无法解析该目录下的文件,即使攻击者上传了脚本文件,服务器本身也不会受到影响,在实际应用中,很大大型网站的上传应用,文件上传后会放到独立的存储上做静态文件处理,一方面方便使用缓存加速,降低性能损耗,另一方面也杜绝了脚本执行的可能

2.判断文件类型

判断文件类型的时候的时候,可以结合使用MIME Type,后缀检查方式,文件类型检查中,推荐使用白名单方式,黑名单不可靠,对于图片的处理,可以使用压缩文件或者resize函数,在处理图片的同时破坏图片中包含的HTML代码

3.使用随机数改写文件名和文件路径

文件如果要执行代码,则需要用户能够访问到这个文件,如果应用使用随机数改写文件名和路径,将极大的增加攻击的成本,与此同时,像shell.php.rar.rar 这种文件,或者是crossdomain.xml这种文件,都将因为文件名被改写而无法成功实施

4.单独设置文件服务器的域名

由于浏览器同源策略的关系,一系列服务器攻击将失效

赞(1) 打赏
未经允许不得转载:黑客技术网 » 文件上传漏洞及解决方法
分享到: 更多 (0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    1

    14个月前 (05-20)回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏