WP_Image_Editor_Imagick 漏洞临时如何解决方法

雪花,是世界上最圣洁的花,当你静静的倾听天籁,尘世的浮躁与喧嚣,似乎都已离你远去,剩下的惟有纯净,那是心灵忘却一切的畅然,那是在没有尘埃的世界里,生命自由呼吸的平淡与安恬。

今天很多人都收到了阿里云推送的一条短信通知,大意就是存放在上面的WordPress程序有WP_Image_Editor_Imagick漏洞问题,需要登入后台补丁等等的暗示。当然,如果需要在线补丁则需要升级阿里云的安骑士专业版,100元/5台/月,很是很贵的。其实对于我们来说我们没有必要去购买这个服务,因为这个漏洞并不是由于Wordpress程序本身造成的,而是由于ImageMagick这个PHP图像处理模块爆出的“0day”漏洞所引发的。

那先来说下ImageMagick这个模块,ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。由于其强大的功能以及超强的可操作性,是的这款作图软件深得广大办公人士喜爱,正因为如此,此次0day漏洞所带来的影响超乎了人们的想象。诸多网站论坛都深受其害,其中不乏百度、阿里、腾讯、新浪等知名网站,一时间,业界各大网站及企业都人人自危,纷纷自查,以免中招。

那么对于我们来说,如果去解决这个漏洞呢?

1.最完善的解决方案是“等”:等ImageMagick的官方更新,并将其升级到最新版本。不过这似乎要等段时间。

2.ImageMagick官方给出了一个临时解决方案:通过配置文件,禁用ImageMagick。可在“/etc/ImageMagick/policy.xml” 文件中添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
<policymap>

<policy domain="coder" rights="none" pattern="EPHEMERAL" />

<policy domain="coder" rights="none" pattern="URL" />

<policy domain="coder" rights="none" pattern="HTTPS" />

<policy domain="coder" rights="none" pattern="MVG" />

<policy domain="coder" rights="none" pattern="MSL" />

</policymap>

<policymap> <policy domain="coder" rights="none" pattern="EPHEMERAL" /> <policy domain="coder" rights="none" pattern="URL" /> <policy domain="coder" rights="none" pattern="HTTPS" /> <policy domain="coder" rights="none" pattern="MVG" /> <policy domain="coder" rights="none" pattern="MSL" /> </policymap>

3.关于wordpress的临时解决方法:将wordpress的默认图片处理库优先顺序改为GD优先,这也是阿里云给出的临时解决方案:(不过我就不要钱了,其实也很简单。)

在wp-includes/media.php中搜索

1
$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_Imagick', 'WP_Image_Editor_GD' ) );

修改为:

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

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

如果你不想修改源代码,又想避免 Imagick 漏洞,可以将下面的代码添加到主题的 functions.php :

1
2
3
4
add_filter( 'wp_image_editors', 'cmp_change_graphic_lib' );
function cmp_change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

add_filter( 'wp_image_editors', 'cmp_change_graphic_lib' ); function cmp_change_graphic_lib($array) { return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' ); }

到此这篇关于WP_Image_Editor_Imagick 漏洞临时如何解决方法就介绍到这了。成功等于百分之一的灵感加上百分之九十九的汗水。更多相关WP_Image_Editor_Imagick 漏洞临时如何解决方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress做公司官网好吗?会不会显得档次很低?

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?