dedecms任意命令执行漏洞0day

dedecms 任意命令执行漏洞

一、漏洞简介

dedecms后台存在任意命令执行漏洞(已提交cnvd并归档,官方2022.1.12发布补丁,目前新版本已修改,上个版本可以通过链接下载 ,提取码:ikom )

二、漏洞影响

dedecms5.7.85

三、复现过程

漏洞分析

漏洞位置:plus/mytag_js.php
可以看到在文件写入之后,可以通过一些方式直接文件包含。这样的话我们就不必关心文件名(当然文件名是固定htm后缀的)而只需要关心文件写入时传的myvalues是什么内容即可。
在这里插入图片描述
往上看可以发现是通过一个查询得到的,而这个查询具体的语句是什么呢?我们接着往上看。
在这里插入图片描述
在这里插入图片描述
可以看到具体的查询语句是

SELECT * FROM `#@__mytag` WHERE aid='$aid'

那么有查询很有可能有插入的功能,全局搜索表名。
在这里插入图片描述
找到了具体的查询语句,但我们发现没有aid这个列名,那么他肯定是自增的了。
在这里插入图片描述
访问该页面得到具体的插入界面。我们试着插入如下数据。
在这里插入图片描述
接着打印一下$pv->GetResult()的结果,在此之前我们为了不die掉需要传人一个arcID和nocache
在这里插入图片描述
这个具体的aid号我们也是可以看到的。
在这里插入图片描述
在这里插入图片描述
输入完之后发现回显的是f,也就是我们返回的内容是我们插入时传的”正常显示内容“。
最后我们整理一下思路。
1、首先插入一个tag,在“正常显示内容”处传入我们要执行的php代码。
2、通过file_put_contents写入文件。
3、通过include包含文件。

利用过程

1、访问dede/mytag_main.php插入一个标记。
在这里插入图片描述

保存成功后记住对应的编号。
在这里插入图片描述

2、访问/plus/mytag_js.php?arcID=6&nocache=1 (其中的6为tag的编号)来生成文件。
3、访问/plus/mytag_js.php?arcID=6来包含文件。

在这里插入图片描述
成功执行了exec(‘calc’);
我们可以来看下生成的文件内容。
在这里插入图片描述
会被包裹在一些字符串中,但是在include的时候不影响php代码的解析。

猜你喜欢

转载自blog.csdn.net/miuzzx/article/details/122201446