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
的操作(将对应值添加到数据库),但是在后续重置密码之前,未利用该语句。