特定环境允许上传文件,如何保证文件的完整性和安全性?

特定环境允许上传文件,如何保证文件的完整性和安全性(不被中间某些程序执行或调用,比如最近的那副狼还是狗的图片)

参与26

7同行回答

huibohuibo系统工程师上海银行中心
最近各种互联网网站的图片上传等功能几乎都被黑客玩了一遍,这全因一个新的“魔图攻击”所致。网站上的图片相关功能可以被黑客利用秒取网站服务器控制权!比如传一张图直接就给服务器关机,或执行 “rm -fr /” 删除文件,再或窃取用户敏感数据等,而造成这些后果的只是一张特殊的...显示全部

最近各种互联网网站的图片上传等功能几乎都被黑客玩了一遍,这全因一个新的“魔图攻击”所致。

网站上的图片相关功能可以被黑客利用秒取网站服务器控制权!比如传一张图直接就给服务器关机,或执行 “rm -fr /” 删除文件,再或窃取用户敏感数据等,而造成这些后果的只是一张特殊的图片…



当然不是它…

首先了解下啥是 ImageMagick


ImageMagick 是一款功能强大、稳定并开源的图片处理库(类似库还有gd等),可以读、写处理几乎所有常见的图片格式,网站程序可以利用 ImageMagick 对图片进行瘦身、旋转、锐化以及其他特效处理操作。因 ImageMagick 处理效率较优,被很多企业与建站程序开发者喜爱,比如 PHP 的 imagick 扩展就依赖 ImageMagick。


网站中常见的场景比如用户头像上传、远程图片抓取、图片在线编辑,图片压缩等功能就很可能使用该扩展进行处理。

就在 5 月 3 日劳动人民刚结束自己假期的时候,ImageMagick 的官方披露称,目前提供给用户使用的程序存在一处远程命令执行漏洞(CVE-2016–3714),当其处理的上传图片带有恶意攻击代码时,就可以远程执行任意代码&命令,获取服务器的操作权限。

攻击方式非常简单,黑客只需上传一张“魔图”就可以对网站程序的 imagick 扩展进行攻击,利用漏洞执行“魔图”中内置的恶意命令。值得注意的是即使提示图片上传失败,imagick 扩展也会因代码流程而进行了处理,所以这种情况下不用真的给图片传到服务器上攻击也会成功(乌云已有案例)。


上传恶意图片,一般都会提示错误


但服务器存在漏洞,所以仍可获取到服务器权限

目前该漏洞还没有大面积爆发,但仍会给黑客们意想不到的“惊喜”,比如企业被动抓取网络图片功能也可以间接触发该漏洞,所以真的是稍不注意就在网络边界上撕开一个入口。另外该漏洞还可对一些云计算平台的权限验证进行绕过,获取甚至删除其他用户的文件或数据信息,所以乌云君建议云计算平台企业格外需要注意,要是没注意到被删除可都是用户的数据。

截至目前乌云上收到的漏洞报告(互联网企业、建站系统、云计算平台均有受到影响)


WooYun-2016-0205171- 人人网某漏洞导致直接Getshell影响主干网络直入内网
WooYun-2016-205206-一张图片引发的血案百度某处命令执行
WooYun-2016-205259-百度某站远程命令执行漏洞
WooYun-2016-205051-SAE 沙盒绕过(ImageMagick CVE20163714 应用实例)
WooYun-2016-205047-Wordpress某核心功能命令执行漏洞(一定权限)
WooYun-2016-205290-七牛云存储远程命令执行漏洞影响图片处理服务器
WooYun-2016-205375-腾讯微云远程命令执行
WooYun-2016-205381-qq邮箱命令执行
...

Mail.Ru 安全团队在 4月21日 就发现了 CVE-2016–3714。4月30日,ImageMagic官方发布了新版本6.9.3-9,但没有完全修复漏洞。因此,到目前为止官方仍未有修复版本推出。


临时防护建议(by imagetragick.com):

使用配置文件暂时禁用 ImageMagick 的部分编码器,可在 “/etc/ImageMagick/policy.xml” 文件中添加如下代码:


  
  
  
  
  

在乌云上的一个暴露问题!

收起
银行 · 2016-05-18
浏览3154

提问者

huibo
系统工程师上海银行中心
擅长领域: 服务器小型机灾备

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2016-05-18
  • 关注会员:5 人
  • 问题浏览:9927
  • 最近回答:2016-05-31
  • X社区推广