首页 » 网站攻防 » 浏览内容

Dedecms V5.7 后台文件重命名[CVE-2018-9134]

619 4 发表评论
Dedecms V5.7版本后台可实现对于文件的重命名,可将上传的任意文件重名为php文件,导致getshell。
该漏洞的逻辑比较简单,就从漏洞的入口文件开始看,漏洞的入口文件是dede/file_manage_control.php,其部分源码如下:

重点就在于这里的if,由于dede采取的是伪全局变量注册机制,导致在未经过滤的情况下我们可声明任意变量。在该文件中,前面只是简单的验证身份是否正确,并没有对于变量进行任何过滤。也就是说,我们可控$fmdo,$oldfilename,$newfilename这三个变量。

跟进RenameFile方法,文件位于dede/file_class.php

在这个方法中,对于传入的变量只是进行参数拼接操作,就是我们传入的参数前加上web服务的根目录的绝对路径。对于之后的变量没有任何过滤。导致我们可操作自行上传的文件。从而实现将任意类型文件重命名为php文件。

利用方式:
首先随便找个上传点,上传合法文件。获取上传之后的文件路径。
这里我找的是前台->会员中心->附件管理,从这上传一个zip文件,内容就是phpinfo()

可以在源码里看到上传文件的路径:

接下来构造触发重命名payload:
将文件路径的值填入oldfilename参数,这里注意不要加反斜杠
newfilename的值就是我们要生成的木马文件的名称。(由于我的dede并不是放在web服务的根目录下,因此我这里需要加上dedecms/)
fmdo构造为rename即可
最终生成以下poc:

执行之后访问:http://localhost/dedecms2/wisdom.php

配合存储型xss可getshell。

修复方案:在file_class.php中过滤$newname参数,或者file_manage_control.php中过滤$newfilename参数,判断文件后缀是否为php

原文地址 https://xz.aliyun.com/t/2234

标签:

评论 共 4 条 (RSS 2.0) 发表 评论

  1. 会员头像 广安养老院说道:

    写得很好支持一下

  2. 不错啦,谢谢分享

  3. 会员头像 鸡肋说道:

    鸡肋!首页得开前台,其次得让管理员点击!

发表评论

  •   没有头像?

关注我们,实时联系

通知公告">更多...

♥如果喜欢本站可以直接点击订阅博客
♥点击此加入晓残博客会员群加入扣群
♥本站免费提供加密解密服务点击解密
♥如果你有意向广告合作点击广

站长微信

订阅博客

站内广告

博客统计

  • 日志总数:545 篇
  • 评论数目:2168 条
  • 标签总数:43 个
  • 页面总数:8 个
  • 分类总数:17 个
  • 友链总数:24 个
  • 建站日期:2011-02-13
  • 运行天数:2716 天
  • 最后更新:2018-6-28