您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程

Wordpress漏洞分析和解决方法

冰兰2025-03-25WordPress教程已有人查阅

导读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中:
function wp_delete_attachment( $post_id, $force_delete = false ) {
...
$meta = wp_get_attachment_metadata( $post_id );
...
if ( ! empty($meta['thumb']) ) {
// Don't delete the thumb if another attachment uses it.
if (! $wpdb->get_row( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attachment_metadata' AND meta_value LIKE %s AND post_id <> %d", '%' . $wpdb->esc_like( $meta['thumb'] ) . '%', $post_id)) ) {
$thumbfile = str_replace(basename($file), $meta['thumb'], $file);
/** This filter is documented in wp-includes/functions.php */
$thumbfile = apply_filters( 'wp_delete_file', $thumbfile );
@ unlink( path_join($uploadpath['basedir'], $thumbfile) );
}
}
...
}
$meta['thumb']来自与数据库,是图片的属性之一。代码未检查$meta['thumb']的内容,直接带入unlink函数,如果$meta['thumb']可控则可导致文件删除。
文件/wp-admin/post.php中:
...
switch($action) {
...
case 'editattachment':
check_admin_referer('update-post_' . $post_id);
...
// Update the thumbnail filename
$newmeta = wp_get_attachment_metadata( $post_id, true );
$newmeta['thumb'] = $_POST['thumb'];
wp_update_attachment_metadata( $post_id, $newmeta );
...
$newmeta['thumb']来自于$_POST['thumb'],未经过滤直接将其存入数据库,即上一步的$meta['thumb']可控。
临时修补程序
通过将修复程序添加到functions.php当前活动的主题/子主题的文件中,可以将修复程序集成到现有的WordPress安装中。
add_filter( 'wp_update_attachment_metadata', 'rips_unlink_tempfix' );
function rips_unlink_tempfix( $data ) {
if( isset($data['thumb']) ) {
$data['thumb'] = basename($data['thumb']);
}
return $data;
}
所提供的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就像尚未安装一样。攻击者可以删除此文件,使用他为管理员帐户选择的凭据进行安装过程,之后在服务器上执行任意代码。

本文标签:

很赞哦! ()

相关教程

相关源码

  • (带手机版)绿色生态农业种植农产品网站pbootcms源码下载本模板基于PbootCMS内核开发,为生态农业企业量身打造,适用于农业种植、有机农场、农产品电商等业务场景。模板设计充分体现绿色环保理念,突出农业特色,同时保持简洁大气的视觉效果,帮助农业企业建立专业形象。查看源码
  • (PC+WAP)绿色草坪地坪操场pbootcms网站模板该模板基于PbootCMS内核开发,专为人造草坪、地坪施工企业设计,采用绿色主题呼应行业属性,实现PC与WAP端全栈响应式适配,确保跨设备无缝浏览体验。查看源码
  • (自适应)蓄电池能源智能数码科技产品pbootcms模板源码下载本款基于PbootCMS开发的网站模板为蓄电池及能源科技企业设计,特别适合锂电池、储能系统、新能源电池等产品的展示与推广。查看源码
  • (自适应)包装机贴标机设备网站源码免费下载基于PbootCMS内核开发的响应式企业模板,为包装机械、贴标设备等工业领域打造,通过数字化展示提升企业专业形象。查看源码
  • (自适应)中英双语配线器材扎带线卡网站pbootcms模板免费下载为线缆管理、电气配线领域打造的响应式网站模板,采用PbootCMS内核开发,可快速搭建企业级产品展示平台,数据实时同步管理。查看源码
  • (自适应)html5导航目录索引工具类网站源码下载本模板基于PbootCMS开发,为站长导航、网址导航类网站设计。采用HTML5+CSS3技术构建,适配PC端和移动端,提供流畅的浏览体验。适用于个人站长、资源导航平台等场景查看源码
分享笔记 (共有 篇笔记)
验证码: