该插件随附一个安装向导,可通过逐步安装过程对其进行配置,并支持Google架构标记(又名Rich Rich Snippets)、关键字优化、Google Search Console集成,Google关键字排名跟踪等。
Defiant的Wordfence威胁情报团队在一个不受保护的REST-API端点中发现了Rank Math特权升级漏洞。
根据Defiant QA工程师Ram Gall的说法,成功利用此漏洞“使未经身份验证的攻击者可以更新任意元数据,其中包括为站点上任何注册用户授予或撤消管理特权的能力”。
rank math 插件<=1.0.41.1版本
前置条件:
插件(手动安装):
WP Rest API(https://cn.wp.xz.cn/plugins/rest-api/)
rank math(https://downloads.wordpress.org/plugin/seo-by-rank-math.1.0.40.zip)
phpstudy(php7.0)
wordpress 4.9.0(由于rank math的问题,必须至少大于这个版本)
注意:
更改为”文章名“后可能出现403,在生成了的.htaccess文件 里增加“Options +FollowSymLinks”这句内容即可(系统rewrite已开启的前提)。
建立用户test,设置角色为订阅者
在数据库wordpress中的wp_usermeta表查看test和admin在数据库中字段的区别:
•test:
•admin:
管理者的wp_user_level是10,而订阅者的wp_user_level是0
api信息:
从api中可以看到修改元数据的接口,请求方式为POST
http://127.0.0.1/wordpress/wp-json/rankmath/v1/updateMeta
找到接口,我们需要查看接口需要什么参数
我们在\wp-content\plugins\seo-by-rank-math\includes\rest\class-admin.php中的update_metadata找到了需要的参数
objectType参数很明显是user(根据其下面调用的update_metadata方法),meta参数是要修改的键值对,objectID对应数据库表中的user_id字段
作为一个攻击者,必然需要知道user_id的值
而关于user_id字段,在用户的个人资料处,查看源码可以找到
payload如下:
objectID=2&objectType=user&meta[wp_user_level]=10&meta[wp_capabilities][administrator]=1
成功:
更新至最新版本1.0.41.2
http://wp101.net/plugins/seo-by-rank-math/
参考链接:
https://xz.aliyun.com/t/7616
https://www.wpdaxue.com/a-serious-vulnerability-in-the-rank-math-plugin.html
文章评论