WordPress 5.0.0曝远程代码执行漏洞

时间:2019-02-26 16:04:18来源:信息安全服务部作者:梦之想科技

WordPress是使用PHP语言开发的CMS系统,是网络上最受欢迎的CMS之一,也是一款个人博客系统。根据w3tech的资料显示,约有30%的网站在使用它,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站或者使用自己的博客。

WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

漏洞的成因

Author权限的用户可以发布、编辑文章,以及上传图片等。拥有Author权限的攻击者可以上传恶意构造的图片文件,该文件正常情况下会被保存至/wp-content/uploads/目录下,通过http://targetserver.com/wp-content/uploads/evil.jpg可以访问到该图片。

在WordPress中,当一个图片被更新时,目录下wordpress\wp-admin\includes\post.php中edit_post()函数会被触发。该函数直接操作了由攻击者可控的$_POST数组:

未标题-1.jpg


由于没有安全检查,通过这种方式,攻击者可以更新_wp_attached_file的meta_value,将其设置为任意值。此过程不会重命名文件,但通过利用处理文件路径和HTTP URL的差异性,可以使裁剪图片的操作触发路径穿越,将恶意图片文件移动到当前主题的目录下。

漏洞的危害

通过利用上述目录遍历,就可以把包含恶意代码的图像放入当前使用主题的目录中。攻击者使用前面的方法更改_wp_attached_file,以包含的方式加载恶意代码图片。攻击者成功进行任意远程代码。

漏洞的应对措施

更新WordPress至最新版