CVE-2023-32243踩坑

CVE-2023-32243踩坑

原创 超级兵 攻防实验室 2024-07-27 22:02

本文较短,赶时间的朋友直接看最后面的结论

wordpress cve-2023-32243

漏洞插件:essential-addons-for-elementor-lite 版本:5.4.0 – 5.7.1

某次渗透中,发现目标版本:5.5.5,在可利用范围内

网传poc:

其中
eael-resetpassword-nonce
来自网站前端源码:
var localize = {“…,”nonce”:”xxxxxx”,…
部分。

rp_login
为现有用户

利用效果:

有问题

目标wp版本为6.2,搭建本地环境进行测试

添加插件:essential-addons-for-elementor-lite.5.5.5.zip

配置本地环境时发现此插件需要配合插件
Elementor(版本3.23.3)
一同安装才能使用

测试发现和上面的报错一样,下断点跟进代码

根据上面的报错信息
Invalid user name found!
,我们直接定位到

myweb.com\wp-content\plugins\essential-addons-for-elementor-lite\includes\Traits\Login_Registration.php

$user错误导致报错,再往上看

这里的
check_password_reset_key
函数,需要传入两个参数,动态调试一下

跟进发现这两个参数都为空

key为空,直接导致$user报错

再往上看,
$rp_data_db
是设置key和login的关键

跟进
get_option
函数

注意到

对应的sql语句

将这条语句直接去执行:

使用可视化工具进行查看

没有此项,没有类似的数据

想办法构造此项

找到唯一可能有关的地方

且此处位于上面
check_password_reset_key
代码逻辑之下,无法利用

后查看其它资料发现,上面这套逻辑为已经打补丁修复后的代码

那我还玩个锤子🔨!!!

结论:5.5.5版本不存在CVE-2023-32243漏洞,公开消息不一定准确!

补充:

版本5.7.1确实存在此漏洞,对于上面的那条sql语句,确实有
update_option
的操作(将对应值添加到数据库),但是在后续重置密码之前,未利用该语句。