WordPress ≤ 4.9.6任意文件删除漏洞

百家 作者:绿盟科技 2018-07-03 10:35:14

综述

近日,国外安全研究组织rips团队发布了一篇WordPress任意文件删除到代码执行的漏洞文章,文章中指出攻击者可以利用此漏洞删除任意文件,比如删除WordPress建站配置文件wp-config.php,通过删除此文件可导致界面进入网站安装页面,通过重装网站后进入管理员后台即可获取网站shell从而控制WordPress网站,故该漏洞的危害很大。唯一缺陷就是需要攻击者拥有操作多媒体文件的功能,一般作者权限就可以触发漏洞。

攻击难度:中

危害程度:高

影响版本: ≤4.9.6

什么是WordPress?

WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。Alexa排行前100万的网站中有超过16.7%的网站使用WordPress,根据w3tech的资料显示,约有30%的网站在使用它。WordPress是目前因特网上最流行的博客系统。

技术分析

在文件/wp-admin/posts.php中,当编辑附件时有如下代码:

通过wp_get_attachment_metadata函数获取当前post_id对应内容的metadata信息,也就是数据库表wp_postmeta中的信息,然后给metadata信息中添加一个thumb的内容,这个thumb的内容通过POST直接传递,没有经过处理,最后更新metadata的信息。然后在删除媒体内容时,有如下代码:

当前用户有删除内容的权限时,调用了wp_delete_attachment函数,这里的post_type默认就是attachment。

然后跟进wp_delete_attachment函数,在文件/wp-includes/post.php中跟进次函数:

通过wp_get_attachment_metadata函数获取post_id对应内容的metadata信息,然后当thumb不为空时,到最后unlink文件:

从meta[‘thumb’]到thumbfile,再从thumbfile进入unlink函数,没有对文件进行过滤处理,导致直接删除文件。

通过上面的分析,我们首先通过修改媒体文件,给thumb赋值为你想删除的文件,然后再删除此媒体文件,既可以删除任意文件。

漏洞验证

首先我们注册一个author的作者权限用户,登陆后添加媒体文件,再编辑文件并且找到修改图像时的wpnonce值。

然后发送修改图像的请求,这里我们在网站根目录下新建了一个111111文件,然后修改要删除的文件为111111:

此时已经修改图像,并且图像的metadata中thumb的内容就是../../../../111111文件路径。然后我们在删除该文件,首先找到删除文件时的wpnonce:

最后直接发送删除请求:

http://localhost/wordpress-4.7.4/wp-admin/post.php?post=12&action=delete&_wpnonce=d85e71ffa9

同下断点可以看到这里删除的具体文件:

最后成功删除我们新建的111111文件。那么删除wp-config.php文件同理。

防护方案

目前官方没有提供修复方案,这里给出临时修复方案。在/wp-admin/post.php中,当修改图像文件时,在wp_update_attachment_metadata更新metadata时对传入的thumb文件进行处理,如图:

参考链接:

https://blog.ripstech.com/2018/wordpress-file-delete-to-code-execution/

声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。


由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。


绿盟科技拥有对此安全公告的修改和解释权。


如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技


北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。


基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。


北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369



请点击屏幕右上方“…”

关注绿盟科技公众号
NSFOCUS-weixin

↑↑↑长按二维码,下载绿盟云APP

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接