0day|织梦RCE
2023-2-26 17:13:9 Author: 藏剑安全(查看原文) 阅读量:29 收藏

现在只对常读和星标的公众号才展示大图推送,建议大家能把“藏剑安全设为星标”,否则可能就看不到了

织梦官网:https://www.dedecms.com/download

受影响的版本 <=dedecms v5.7.105

织梦部署量截图

来看下漏洞源码

uploads/dede/templets_one_edit.php

为了方便,我这里就直接在每行代码的后面写注释

首先会判断用户提交的数据dopost的值是否等于saveedit,如果是就进入if语句

25行然后开始替换字符串

这里开始正则匹配替换用户提交的文件名,如下图所示

然后来到128行,判断dopost的值是否等于view,如果是则进入if语句

然后开始判断aid的是否为空,如果为空则进入if语句

这个是php构造函数

定位这个用户自定义函数

得知是输出动态结果,也就是预览文件,这里有个问题,就是在27行替换了用户提交的文件名并没有过滤用户提交的文件名是否合法,导致攻击者可以利用该漏洞非法建立与服务器之间的访问权限,漏洞利用链如下

第一步先来到模板这里创建一个新模板

内容如图,文件名为78.htm,在内容处写免杀(这里一定要写,不然没法利用)

然后来到核心->单页文档管理,创建一个新的文档

然后在模板处写入刚刚创建的恶意htm模板(这里会把htm文件里的内容写入到新建的php文件里),文件名后缀改为php

创建成功

如果不修改目录的话,就在a目录里,然后在访问刚刚创建的恶意文件,成功返回了探针


免责声明

由于传播、利用本公众号NGC660安全实验室所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号NGC600安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MDA5NzUzNA==&mid=2247484833&idx=1&sn=4215a1f96a78a15797b5ef8d1e4797c0&chksm=cfe09fb0f89716a641c52b8708ed6da3c3154ca6531fc85dbd364c1719b6e6b817afd27b3de0#rd
如有侵权请联系:admin#unsafe.sh