本博客已搬迁至:https://n0puple.github.io/ 此处不再更新文章
本文仅用于技术讨论与研究,文中的实现方法切勿应用在任何违法场景。如因涉嫌违法造成的一切不良影响,本文作者概不负责。
本文由本人在今年2月份发表于奇安信攻防社区 https://forum.butian.net/share/1303 ,因此在一些关于时间的描述上存在误差,请谅解。
0x00 漏洞描述
看了 wordpress
注入( CVE-2022-21661
)的洞之后,发现还存在另外一个对象注入漏洞,具有管理员权限的用户通过更改一些选项,将有机会 getshell
。
0x01 漏洞影响
getshell
的条件:
-
wordpress < 5.8.3
-
启用多站点模式
-
存在一条可用的反序列化链(在本文中不会讲这个)
这是 github
上的漏洞修复记录
因此这里的环境选择前一条提交
git clone https://github.com/WordPress/WordPressgit checkout 7d20ea9
0x02 漏洞分析
这里是以我复现这个漏洞时候的角度来分析的,因此会有一些弯路
漏洞入口点
首先来到 wp-admin/upgrade.php
,这是管理员可以直接访问到的文件,也是我认为的此漏洞的入口点。
跟进 wp_upgrade
函数,来到 wp-admin/includes/upgrade.php
来源地址:https://blog.csdn.net/csdn_Pade/article/details/127166140