因图片处理软件一个漏洞,Facebook给出历史最高漏洞赏金-阿里云开发者社区

开发者社区> 玄学酱> 正文

因图片处理软件一个漏洞,Facebook给出历史最高漏洞赏金

简介: 本文讲的是因图片处理软件一个漏洞,Facebook给出历史最高漏洞赏金,ImageMagick是一个免费开源的图像处理软件,用于创建、编辑、合成图片,可运行于大多数的操作系统,支持PHP、Ruby、NodeJS和Python等多种语言,使用非常广泛。
+关注继续查看
本文讲的是因图片处理软件一个漏洞,Facebook给出历史最高漏洞赏金

因图片处理软件一个漏洞,Facebook给出历史最高漏洞赏金

ImageMagick是一个免费开源的图像处理软件,用于创建、编辑、合成图片,可运行于大多数的操作系统,支持PHP、Ruby、NodeJS和Python等多种语言,使用非常广泛。

然而俄罗斯的安全研究员Andrew Leonov却在其上发现了一个漏洞,编号为CVE-2016-3714。ImageMagick处理的图片中可携带攻击代码,远程攻击者可利用它执行任意代码,甚至是控制服务器。2016年5月,该漏洞被公之于众,然而厄运由此开始,大量恶意攻击者利用它进行远程访问操作。 

Andrew Leonov在一篇文章中描述了此次攻击并且提供POC。由于漏洞的危害程度极高,Facebook已经授予他4万美元奖金,这是至今为止Facebook给出的单个最高漏洞奖励。

Leonov透露发现漏洞的过程:十月份的某个星期六,当他正对一些大的服务进行测试(不是Facebook),一些重定向让他注意到了Facebook。这是一个分享到<Share on Facebook>的对话框

因图片处理软件一个漏洞,Facebook给出历史最高漏洞赏金

链接如下:

https://www.facebook.com/dialog/feed?app_id=APP_ID&link=link.example.tld&picture=http%3A%2F%2Fattacker.tld%2Fexploit.png&name=news_name&caption=news_caption&description=news_descriotion&redirect_uri=http%3A%2F%2Fwww.facebook.com&ext=1476569763&hash=Aebid3vZFdh4UF1H

Leonov解释:如果我们认真看,可以发现‘picture'参数其实是一个URL,然而页面内容上并没有如上文中提到的图像URL。服务将他重新定向到Facebook平台后他确定了漏洞的存在。

首先我想到了某种SSRF问题,但测试表明URL中的参数请求来自于 31.13.97.* network ,通过 facebookexternalhit/1.1参数。

在测试应用程序后,他又测试了ImageTragick 。

工作流程

1.获取‘picture'参数并发起请求——此请求是正确的,不易受攻击

2.通过转换器接受图片,其使用易受攻击的ImageMagick 库

Lenovo提交漏洞三天之后,Facebook 已经修复了此漏洞并表示在漏洞得到修复之前没有任何迹象表明有漏洞被攻击者利用。




原文发布时间为:2017年1月22日
本文作者:biubiu
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
多个版本的BIND DNS软件都存在一个严重漏洞
本文讲的是多个版本的BIND DNS软件都存在一个严重漏洞,最近,安全研究员在BIND DNS软件发现了一个比较严重的DoS漏洞,好在已经被ISC(互联网系统协会)修复了。
1371 0
Qt之处理QNetworkAccessManager网络连接超时
简述 在网络操作中,经常会由于各种原因引起网络连接超时,究竟何为网络连接超时? 网络连接超时:在程序默认的等待时间内没有得到服务器的响应 简述 超时原因 Qt 中的网络连接超时 如何处理超时 封装类 超时原因 引起网络连接超时的原因很多,下面,列举一些常见的原因: 网络断开,不过经常显示无法连接 网络阻塞,导致你不能在程序默认等待时间
3957 0
参考---创建sql数据库复制的发布、订阅的问题处理
操作使用的一些技巧(事务复制类型):1.如何修改一个已经发布的表的属性?将发布所有订阅删除,(发布不用删除),就可以在发布属性的项目中取消表,然后就 可以修改该表了,修改后,再将表加入发布内就可以了.
923 0
一个内存增长问题的分析和处理(二)——valgrind工具的用法
valgrind是linux下对C++和C程序进行内存泄露检测的工具,除了内存检测,valgrind还提供了很多其他的功能,这里主要介绍下valgrind的内存检测的功能。   首先是文件的下载,valgrind的官方网址是http://valgrind.org/,最新版本的valgrind是3.9,下载地址如下:http://valgrind.org/downloads/。
996 0
MaxCompute(ODPS)上处理非结构化数据的Best Practice
随着MaxCompute(ODPS)2.0的上线,新增的非结构化数据处理框架也推出一系列的介绍文章,包括 MaxCompute上如何访问OSS数据, 基本功能用法和整体介绍,侧重介绍读取OSS数据进行计算处理; 本文:MaxCompute(ODPS)上处理非结构化数据的Best Practice。
4140 0
http TRACE 跨站攻击漏洞测试与防御修复
php、apache、http trace、 跨站攻击
4209 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20710
文章
438
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载