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

wordpress有漏洞吗,wordpress常见漏洞的修复方法

信品2023-07-22WordPress教程已有人查阅

导读根据CVE官方漏洞通报得知wordpress新出一个组合式rce漏洞,漏洞编号分别为CVE-2019-8943和CVE-2019-8942,下载漏洞版本源码,分析漏洞触发过程,

根据CVE官方漏洞通报得知wordpress新出一个组合式rce漏洞,漏洞编号分别为CVE-2019-8943和CVE-2019-8942,下载漏洞版本源码,分析漏洞触发过程,注:漏洞复现时 要断网搭建,wordpress在联网状态时会自动更新代码包。找到漏洞发生文件post.php,wordpress有多个post.php文件,这里简要说明一下各自的作用,wp-includes/post.php为post的源文件,wp-admin/includes/post.php为有后台权限的post接口,wp-admin/post.php为后台post的请求处理,具体调用代码如下:

wp-admin/post.php:require_once( dirname( __FILE__ ) . '/admin.php' );
wp-admin/admin.php:require_once(ABSPATH . 'wp-admin/includes/admin.php');
wp-admin/includes/admin.php:require_once(ABSPATH . 'wp-admin/includes/post.php');
wp-admin/admin.php::require_once(dirname(dirname(__FILE__)) . '/wp-load.php');
wp-load.php:require_once( dirname( ABSPATH ) . '/wp-config.php' );
wp-config.php:require_once(ABSPATH . 'wp-settings.php');
wp-settings.php:require( ABSPATH . WPINC . '/post.php' );
define( 'WPINC', 'wp-includes' );

根据以上调用流程,漏洞利用流程为上传一个图片到媒体库,然后进行更新操作,调用wp-admin/post.php函数,并根据switch到case:editpost,:

其中edit_post为漏洞函数,进入函数声明,:

$post_data为post数组,并未作任何过滤防护,对此产生了之后的漏洞,对比修复后的代码,:

在此我多说两句,因一开始并未发现wordpress在联网时会进行自动更新,所以,我定位了另一个类似漏洞点,:

以上代码会根据传入的meta数组进行update_meta,根据代码中的$key(数据库中的meta_id),$value[‘key’](数据库中的meta_key),$value[‘value’](数据库中的meta_value),构造meta[1][key]=_wp_attached_file&meta[1][value]=123,最终执行类似以下数据库语句UPDATE `wp_postmeta` SET `meta_key` = '_wp_attached_file', `meta_value` = '123' WHERE `meta_id` = 2,实现过程,:

根据meta_id更新wp_postmeta表中内容,最终执行do_action函数, :

但是由于第三个和第四个if的限制,导致无法执行成功,这也算是一个漏洞复现上的一个有趣的点吧,继续跟踪,:

找到可利用的点,并根据代码所示,进入wp_updae_post函数,:

此函数会经过一些获取参数的操作,将数组中的变量提取出来并进行赋值,跟踪到漏洞发生点,:

发现返回wp_insert_attachment函数,跟踪此函数,:

返回wp_insert_post函数,跟踪此函数,在此函数中定位到漏洞发生点,:

所以根据以上漏洞点,可传入meta_input[_wp_attached_file] =../evil.jpg?shell.php,执行SQL语句为UPDATE `wp_postmeta` SET `meta_value` = '../evil.jpg?shell.php ' WHERE `post_id` = 8 AND `meta_key` = '_wp_attached_file',测试条件为前提必须知道post_id,不过正常情况下更新图片时会自带此参数,如果是测试的话,可以观察数据库填写相关内容。具体SQL语句嵌套执行方法,:

通过传入参数,赋值到相对应的表名和列名,最终执行do_action函数,:

在此完成wordpress目录遍历漏洞,并在之后利用本地文件包含漏洞执行rce,wordpress官方使用图像库为GD和Imagick,:

其中Imagick并不是wordpress自带,需要下载插件,所以默认可以使用绕过GD库的方法执行任意代码。

本文标签:

很赞哦! ()

相关源码

  • (PC+WAP)历史复古古典古籍文章资讯类pbootcms模板下载本模板基于PbootCMS系统开发,为古籍研究、历史文献类网站设计,特别适合展示古典书籍、历史档案等文化内容。采用复古风格设计,同时具备现代化响应式布局,确保在PC和移动设备上都能呈现优雅的阅读体验。查看源码
  • (自适应)摄像头安防电子设备pbootcms源码下载本模板基于PbootCMS系统开发,为安防电子设备企业设计,特别适合监控摄像头、安防系统等产品的展示。采用响应式技术,确保各类设备参数和功能在不同终端上都能清晰呈现。查看源码
  • (PC+WAP)货物运输快递物流汽车贸易pbootcms模板下载为货运代理、汽车贸易及快递企业设计的全终端适配网站系统,整合运单追踪与车辆展示核心功能模块原生开发的DIV+CSS架构,支持WebP图像压缩技术。查看源码
  • (自适应响应式)HTML5甲醛环境检测网站模板带在线留言和资料下载本模板为甲醛检测与环保科技企业开发,采用PbootCMS内核构建。首页集成空气质量数据可视化模块,服务流程采用时间轴展示设计,检测报告板块支持PDF在线预览功能查看源码
  • 粉色家政月嫂保姆公司pbootcms网站模板(PC+WAP)为家政服务、月嫂保姆企业打造的营销型解决方案,基于PbootCMS内核开发,采用温馨粉色主题传递行业温度。PHP7.0+高性能架构支持SQLite/MySQL双数据库查看源码
  • 帝国cms7.5女性护肤搭配美妆潮流网站源码带数据4.5G本模板专为女性美容护肤行业设计,提供美容护肤、发型设计、女性健康、时尚化妆、娱乐新闻、服饰搭配等女性潮流资讯内容展示。采用帝国CMS7.5开发,同步生成电脑端和手机端,满足用户对美容时尚信息的获取需求。查看源码
分享笔记 (共有 篇笔记)
验证码: