wordpress WP_Image_Editor_Imagick 指令注入漏洞查找和修复方法
最近很多人都收到过阿里云安骑士的安全漏洞消息,提示WordPress站点存在WP_Image_Editor_Imagick 指令注入漏洞,需要花银子将安骑士升级为专业版才能修复此漏洞。下面介绍下WP_Image_Editor_Imagick 指令注入漏洞,并介绍此漏洞的修复方法。
WP_Image_Editor_Imagick并非主机或程序自带的一个漏洞,而是如果你的服务器环境中安装了ImageMagick组件且没有补丁的情况下才会被利用。因此你的服务器可能并不存在此漏洞,阿里云只是用他做引子让你花钱升级安骑士罢了。
1、检测服务器是否存在WP_Image_Editor_Imagick 指令注入漏洞
要检测是否存在WP_Image_Editor_Imagick 指令注入漏洞只需检测服务器是否安装了ImageMagick组件即可。
(1)查看RPM包
命令:rpm -q ImageMagick
如果提示:package ImageMagick is not installed,说明服务器没有安装ImageMagick组件。
(2)执行CONVERT命令
CONVERT 'http://www.leanwind.com"|ls "-la' OUT.png
如果提示:-bash: CONVERT: command not found,说明服务器没有安装ImageMagick组件。
(3)使用dpkg命令查看软件包
如果你的服务器是Ubuntu系统,还可以使用dpkg命令查看是否已安装ImageMagick组件。
命令:dpkg -l ImageMagick
如果提示:No packages found matching ImageMagick,说明服务器没有安装ImageMagick组件。
如果检测到服务器没有安装ImageMagick组件直接在管理界面中将阿里云安骑士的提示忽略掉就可以了。
2、WP_Image_Editor_Imagick 指令注入漏洞修复
如果检测到服务器中确实安装了ImageMagick组件,可以直接使用apt-get命令对此组件进行升级即可。也可以将WP_Image_Editor_GD和WP_Image_Editor_Imagick的优先级方式进行对调,以确保使用DG库保证使用安全,修改方法如下:
在你的网站根目录下,编辑wp-includes/media.php文件,找到:
$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' ) );