一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

WordPress博客WP_Image_Editor_Imagick漏洞

时间:2016-10-30 编辑:简简单单 来源:一聚教程网

作为一名站长而言,其实早在几天之前就看到了相关资讯新闻:ImageMagick被爆高危漏洞(CVE-2016-3714),黑客等攻击者通过此漏洞可执行任意命令,最终窃取重要信息取得服务器控制权。想来对服务器而言危害程度还是比较大的。

于此同时,今天下午档主收到来自阿里云服务器的安全提示,一个存放在阿里云主机上的WordPress网站程序存在WP_Image_Editor_Imagick漏洞问题,需要登入后台修复补丁。

当然,提供在线修复补丁功能的骑士专业版作为阿里云的收费服务,当然不是免费获取的,不过此服务收费并不贵,如果没有技术能力并且期待官方的安全服务保障的站长,缴费仍是最佳选择。对于档主而言,自然不会因为这个WP_Image_Editor_Imagick漏洞就轻易开通收费服务,因为这个漏洞本来就不是出自WP程序本身,而是服务器环境中安装有ImageMagick且没有升级修复补丁才有。

【技术控】解决WordPress博客WP_Image_Editor_Imagick漏洞

仔细检查了一遍,云主机系统并没有安装过ImageMagick组件,不过最后为了安全起见,尽管没有安装ImageMagick,既然阿里云提示了漏洞还是应该及时修补一番。

临时解决WP漏洞的方法只需要修改一行代码就好。

1、找到wp-includes/media.php,第2898行;

2、修改下列第一条代码为第二条:

$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick' ,  'WP_Image_Editor_GD' ) );

$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' ) );

即把2个库优先级对调即可。

或者,修改/wp-includes/media.php 注释掉一下语句:

require_once ABSPATH . WPINC . ‘/class-wp-image-editor-imagick.php’;

即便机器里装了ImageMagic wordpress也不会调用那玩意了。所以可以暂时不用担心ImageMagic的问题了。

这个修复仅是临时解决方案,更可靠、最直接的方法还是请将wordpress程序升级到最新版本,如果服务器安装有ImageMagick组建同样需要升级至新版本。

最后顺便附上ImageMagick官方提供的临时解决措施:

通过配置策略文件暂时禁用ImageMagick,可在“/etc/ImageMagick/policy.xml” 文件中添加如下代码:







相关链接:

ImageMagick(http://www.imagemagick.org/)

wordpress(https://cn.wordpress.org/)

补充内容:

看到应该有不少站长朋友关注这个问题,需要说明一下的是:该漏洞真正的原因与 WordPress 无关,是 ImageMagick 的漏洞,通过修改GD库顺序只能绕过阿里云的安全漏洞检测,如果系统安装有 ImageMagick 请首先解决其自身漏洞,如果服务器或者云主机本身并没有安装ImageMagick组件(检查/etc下是否存在/ImageMagick文件夹可知)那么问题并不大,因为wordpress 、 discuz!等程序一般都是采用GD库来处理的,阿里云出现误报也不是什么稀奇事。

其次,只要安装了 ImageMagick 就会有 convert 程序。检查办法是执行 convert -v 看版本。如果返回 bash: convert: command not found 说明系统没有找到convert程序,表明并没有安装 ImageMagick ,同样无需担忧。

而若安装了  ImageMagick 程序,由于这个漏洞影响 ImageMagick 6.9.3-9 以前所有版本,包括 ubuntu 源中安装的 ImageMagick 。而官方在 6.9.3-9 版本中对漏洞进行了不完全的修复。所以,我们不能仅通过更新 ImageMagick 的版本来杜绝这个漏洞。

可以通过如下两个方法来暂时规避漏洞:

第一,处理图片前,先检查图片的 “magic bytes”,也就是图片头,如果图片头不是你想要的格式,那么就不调用 ImageMagick 处理图片。如果你是 php 用户,可以使用 getimagesize 函数来检查图片格式,而如果你是 wordpress 等 web 应用的使用者,可以暂时卸载 ImageMagick ,使用 php 自带的 gd 库来处理图片。

第二,使用 policy file 来防御这个漏洞,这个文件默认位置在 /etc/ImageMagick/policy.xml。具体修改内容参考前文提供的代码。

所以,ImageMagick漏洞虽然在新闻报道中传言危害极大,但是也是针对大型网站或者广大虚拟主机商而言,一般个人网站的云主机配置并没有安装ImageMagick组件,至少来自军哥的LNMP一键安装包中并没有安装。所以,解决阿里云漏洞检测报告即可!

热门栏目