WordPress内核中一个任意文件删除漏洞,带来的危害,WP安全

有运维或服务器方面的需求,可以联系博主 QQ 7271895

  • 简介
  • 受影响的版本
  • 攻击带来的影响
  • 技术细节
  • 临时修复程序
  • 时间线
  • 总结

导语:WordPress是网络上最受欢迎的CMS。在这篇文章中,我们将讲述在WordPress内核中引入一个经认证的任意文件删除漏洞,这个漏洞可能会导致攻击者执行任意代码。

WordPress内核中一个任意文件删除漏洞,带来的危害,WP安全

简介

WordPress是目前网络上最受欢迎的CMS。根据w3tech的资料显示,约有30%的网站都在使用它1。这种广泛的采用,也使其成为了网络犯罪分子非常感兴趣的一个目标。在这篇文章中,我们将讲述在WordPress内核中引入一个经认证的任意文件删除漏洞,这个漏洞可能会导致攻击者执行任意代码。在7个月前,我们向WordPress安全团队报告了这个漏洞,但至今依然没有得到修复。由于经过了这么长时间,WordPress官方都没有发布任何补丁或具体修复计划,所以我们决定公开这个事件。

受影响的版本

截止到本篇文章发送时,还没有补丁可防止此漏洞的使用。任何WordPress版本(包括当前的4.9.6版本),都容易受到该漏洞的影响。

如果要利用该漏洞,攻击者需要事先获得编辑和删除媒体文件的权限。因此,该漏洞可以通过对与作者权限相同的用户来提升权限,或者通过其他漏洞的错误配置来利用。

攻击带来的影响

利用此漏洞,使攻击者能够删除WordPress安装的任何文件(+ PHP服务器上的任何其他文件,PHP进程用户具有适当的删除权限)。除了删除整个WordPress安装文件对系统的影响(如果没有当前备份可用,会导致灾难性后果),攻击者可以利用任意文件删除功能绕过一些安全措施,并在Web服务器上执行任意代码。更确切地说,可以删除以下文件:

  • .htaccess:一般来说,删除此文件不会有不安全的影响。但是,在某些情况下,.htaccess文件包含与安全相关的约束(例如,对某些文件夹的访问限制)。因此,删除此文件将会禁用这些安全限制。

  • index.php文件:通常情况下,将空的index.php文件放置到目录中,以防止Web服务器无法执行的情况下的目录列表。如果删除这些文件则将为攻击者提供一份列表,列出受此措施保护的目录中的所有文件。

  • wp-config.php:删除这个WordPress安装文件,会在下次访问该网站时触发WordPress安装过程。这是因为wp-config.php包含数据库凭证,如果没有它,WordPress的将认为它尚未安装。攻击者可以删除该文件,使用管理员帐户选择的凭据进行安装过程,最后在服务器上执行任意代码。

如需观看视频,请点击此处查看原文https://blog.ripstech.com/2018/wordpress-file-delete-to-code-execution/

技术细节

当用户输入传递文件删除功能时,会发生任意文件删除漏洞。在PHP中,当unlink()调用该函数,并且用户输入可能会影响部分或整个参数$filename(表示要删除的文件的路径)时,会发生这种情况,而WordPress不会进行适当的处理。

在该wp-includes/post.php文件中找到了在WordPress Core中使这个漏洞成为可能的代码部分:

WordPress内核中一个任意文件删除漏洞,带来的危害,WP安全

WordPress内核中一个任意文件删除漏洞,可导致攻击者执行任意代码
在wp_delete_attachement()上面显示的功能中,$meta[‘thumb’]呼叫中使用的内容unlink()未经过任何处理。这段代码的目的是在删除图像的同时删除图像的缩略图。在WordPress中通过媒体管理器上传的图像被表示为附属类型的帖子。该值$meta[‘thumb’]从数据库中检索,并保存为表示图像的文章的自定义字段2。因此,在数据库检索和关键函数调用之间使用unlink(),表示缩略图文件名的值不经过任何清理或检查。如果该值在保存到数据库之前也没有经过任何安全措施,我们将在下一个代码列表中看到情况,我们有一个二阶任意文件删除漏洞。

WordPress内核中一个任意文件删除漏洞,带来的危害,WP安全

WordPress内核中一个任意文件删除漏洞,可导致攻击者执行任意代码
此代码片段/wp-admin/post.php代表了附件中属于附件的缩略图的文件名如何保存到数据库中。在从保存在$_POST[‘thumb’]数据库中的用户输入中检索和保存到数据库wp_update_attachment_metadata()之间没有任何安全措施,以确保该值代表正在编辑的附件的缩略图。$_POST[‘thumb’]对于任何文件的路径,这个值可以保存到WordPress上传目录的相对路径中,当附件被删除时,该文件将被删除,如第一列表中所示。

临时修复程序

在编写此篇文章时,此漏洞在WordPress内核中仍未被修复。正因为这样,我们开发了一个临时修复程序。通过将修复程序添加到functions.php当前活动的主题/子主题文件中,可以将修复程序集成到现有的WordPress安装中。

WordPress内核中一个任意文件删除漏洞,带来的危害,WP安全

WordPress内核中一个任意文件删除漏洞,可导致攻击者执行任意代码
所有提供的修复程序都会挂接到wp_update_attachement_metadata()调用中,并确保为元值提供的数据thumb不包含任何使路径成为可能的部分。因此,不能删除与安全相关的任何文件。

我们所提供的修复方案属于临时修复,以防止攻击。我们无法监督WordPress插件的所有可能的向后兼容性问题,因此建议您谨慎的对WordPress文件进行任何修改。

时间线

WordPress内核中一个任意文件删除漏洞,带来的危害,WP安全

总结

在这文章中,我们介绍了WordPress内核中引入了一个任意文件删除漏洞,它允许任何具有作者权限的用户完全接管WordPress网站,并在服务器上执行任意代码。该漏洞去年已报告给WordPress安全团队,但在编写本文时仍然没有作任何修复。

为了提高对此漏洞的认识,我们决定发布一些细节和修复程序。使用我们的安全分析解决方案可以轻松发现漏洞,我们确信这个问题已经被许多研究人员所了解。尽管用户帐户的需求阻止了任意WordPress站点的大规模开发,但共享多个用户帐户的WordPress站点应该应用此修复程序。

如果有不懂的、欢迎加入我们学派吧。一起学习交流。右上角站长群

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/web/707.html

(0)
打赏 微信扫一扫 微信扫一扫
apache默认对进行了编码的url 返回 404-Linux运维日志
上一篇 2018年9月30日 下午7:29
WordPress禁用自动保存草稿去除文章修订功能-wp教程
下一篇 2018年10月2日 下午1:39

相关推荐

  • .htaccess伪静态的使用方法教程分析-学派吧

    如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 Apache主机一般支持.htaccess伪静态,即可以实现绑定域名到子目录、一个空间多个站点。 应用举例:绑定htaccess.800m.net到htaccess目录 根目录下.htaccess内容 <IfModule mod_re…

    建站问题 2019年1月17日
    4.9K00
  • Ubuntu+nginx搭建wordpress的教程-WP搭建

    一. 前言 二. 接下来就是搭博客的过程 三、大功告成 一. 前言 开学之初,我发现Azure上有一个100刀的学生优惠。但在领取这个优惠之后,我却一直没有使用的机会,一是自己不会用,二是没有多余的时间。现在等来了放假,终于可以好好搞一搞了。:joy: 这次搭博客可谓是踩了不少坑: 百度的教程基本上都是废的,只有谷歌的英文教程才是能用的,好气啊 apache…

    2018年10月2日
    4.2K00
  • wordpress启用https301重定向 WP跳转-学派吧

    前言 谷歌浏览器一直在推行 https,而今年更新通知 7 月份会将 http 标记为不安全,于是下定决心学派吧启用 https。经过一番折腾,最后终于改造成功,但是最后找了很多 http301 重定向到 https 的规则,很多都只能定向首页,而不能全站 301。最后才找到一个可以用的,分享给大家 htaccess规则 如果是没有htaccess规则,可以…

    2018年10月3日
    4.8K00
  • WordPress固定链接伪静态设置教程

    伪静态是需要服务器支持的,比如mod_rewrite模块,具体可以咨询服务器管理员,另外部分服务器可能不支持中文链接,这个需要注意。设置方法 进入WordPress后台设置>固定链接,其中第一个“朴素”就是默认的设置,后面几个是WordPress给出的几个可选项,如果都不是你喜欢的链接格式,那么也可以使用最后一个自定义结构。使用自定义结构的话,就需要先了解下…

    建站问题 2018年7月12日
    4.8K00
  • 阿里云短信服务文档使用指引教程分享

    阿里云短信购买优惠链接      https://www.aliyun.com/minisite/goods?userCode=eju0fy49 短信使用流程见下图: 入驻阿里云 1.阿里云注册入口:点击注册页面 2.实名认证:点击进行实名认证 实名认证相关帮助链接:①查看如何选择实名认证方式/实名认证介绍方式集锦,②个人客户如何完成实名认证,③企业如何完成…

    2021年3月16日
    3.2K10

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部