织梦官网: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目录 里,然后在访问刚刚创建的恶意文件,成功返回了探针!
原文始发于微信公众号(刨洞技术交流):0day - 织梦RCE
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论