freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

漏洞复现--织梦CMS_V5.7任意用户密码重置漏洞
恒梦安全 2023-08-16 18:47:12 166392

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

一.漏洞简介

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

二.漏洞原理

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

三.使用工具

Burp Suite,PHPStudyPro,VMware

四.靶场搭建

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

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

image

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

imageimageimage

进入管理界面进行配置

imageimage

五.漏洞复现

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

imageimage

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

image

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

imageimage

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

imageimage

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

image

六.防御策略

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


# 漏洞 # 渗透测试 # web安全 # 数据安全 # 网络安全技术
本文为 恒梦安全 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
恒梦安全 LV.4
解锁数字世界的安全密码!专注网络安全服务,为您提供Web、小程序、APP测试,逆向分析、取证、渗透测试等服务。精彩文章,掌握最新威胁和防护策略。共同守护您的数字安全!
  • 10 文章数
  • 5 关注者
一加7pro制作kalinethunter
2023-12-10
溯源手册
2023-09-24
Oneplus3T(A3010)制作kalinethunter教程
2023-09-07