您现在的位置是:首页 > 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库的方法执行任意代码。
本文标签:
很赞哦! ()
图文教程
WordPress建站的优势有哪些
WordPress不仅仅用于发布帖子,它还提供了很多功能,WYSWYG内容编辑,预览,分类,标签,密码保护以及修改页面。这是用来进行内容管理的
wordpress服务器用什么系统比较好
很早以前大家都习惯了windows server系统,后来发现win 的系统对于php程序支持并不是太好。现在可以用linux系统来运行wordpress博客。一般使用centos系统+php面板来做系统环境。
基于Centos7详细安装wordpress的方法
word press官网提供的系统要求是PHP7.4+和MySQL5.6+,推荐Apache服务器或者Nginx服务器由于我使用了Nginx作为的trojan的代理工具,所以为了避免冲突,我用的Apache服务器。
wordpress插件文件目录存放位置在哪
wordpress的插件目录在wp-content/plugins/下,一个插件一个目录,安装插件时可以把解压的插件上传到这个目录下或者在wordpress后台安装插件。
相关源码
-
(自适应响应式)教育培训机构集团网站pbootcms源码下载本模板基于PbootCMS系统开发,为教育培训机构设计,特别适合展示课程体系、师资团队和教学成果。采用响应式技术,确保在各类设备上都能提供良好的浏览体验。查看源码 -
(自适应响应式)HTML5磁电机械设备蓝色营销型网站pbootcms模板本模板为磁电设备行业设计,采用蓝色营销风格,突出工业设备的专业性和技术感。模板结构清晰,能够有效展示磁电设备的技术参数、应用场景和企业实力,帮助客户快速了解产品特点和公司服务。查看源码 -
(响应式)企业管理人力资源服务类pbootcms模板源码下载为人力资源服务及企业管理设计的响应式网站模板,基于PbootCMS内核开发。通过宽屏布局优化岗位展示效果,简洁界面聚焦人才服务核心业务,自适应技术确保在PC端与手机端查看源码 -
(自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码 -
(自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码 -
(自适应)物流运输快递仓储货运网站模板免费下载基于PbootCMS内核开发的物流运输行业专用模板,深度适配仓储货运企业的业务展示需求。前端采用响应式布局,自动适配手机端访问,后台数据实时同步更新,帮助企业高效展示运输网络、仓储设施、服务流程等核心业务模块。查看源码
| 分享笔记 (共有 篇笔记) |

