0day|织梦RCE

渗透技巧 2年前 (2023) admin
522 0 0

0day|织梦RCE

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

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

织梦部署量截图

0day|织梦RCE

0day|织梦RCE

来看下漏洞源码

uploads/dede/templets_one_edit.php

0day|织梦RCE

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

0day|织梦RCE

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

0day|织梦RCE

25行然后开始替换字符串

0day|织梦RCE

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

0day|织梦RCE

0day|织梦RCE

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

0day|织梦RCE

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

0day|织梦RCE

这个是php构造函数

0day|织梦RCE

定位这个用户自定义函数

0day|织梦RCE

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

0day|织梦RCE

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

0day|织梦RCE

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

0day|织梦RCE

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

0day|织梦RCE

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

0day|织梦RCE

创建成功

0day|织梦RCE

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

0day|织梦RCE


0day|织梦RCE


免责声明

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


原文始发于微信公众号(NGC660安全实验室):0day|织梦RCE

版权声明:admin 发表于 2023年2月21日 下午8:01。
转载请注明:0day|织梦RCE | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...