DeDeCMS代码审计梅开二度

admin 2024年10月8日14:16:42评论22 views字数 1660阅读5分32秒阅读模式

免责申明

本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。

    前几天发过了一个文章,审计织梦cms的一个过程,但是织梦毕竟作为一个老牌CMS了,已经被再看文章的各位师傅打了好几遍了,所以当时在提交漏洞的时候重复率是非常高的,这里拿出来一个重复了的漏洞说下当时的一个审计流程。

0x00 影响版本

这里的涉及版本是<V5.7.107,笔者也是正式从这个版本开始审计织梦的,目前官网已经发布了5.7.110版本这个漏洞已经被修复。

0x01审计过程

DeDeCMS代码审计梅开二度

    老规矩还是下载对应版本(没有这个版本的师傅下滑,我甩一份),使用PHPStudy进行搭建环境进行审计。

涉及到的漏洞文件

    uploads/dede/module_make.php

这个文件当中存在一个移动文件函数

DeDeCMS代码审计梅开二度

为什么要对他进行细看呢,因为看到在函数move_upload_file函数是可以将一个文件移动之后直接重命名更改为一个php格式,方便我们拿到webshell。

然后向上查找发现

DeDeCMS代码审计梅开二度

这个代码对应的是一个修改项目的功能点,所以我们对应功能点先随便创建一个项目。

DeDeCMS代码审计梅开二度

创建好了进行修改点击提交抓包查看是否对应相对应的路由地址

DeDeCMS代码审计梅开二度

地址对应,然后再进行分析

DeDeCMS代码审计梅开二度

对应移动的变量为setup,查看哪个上传点查看哪一个是对应的文件移动代码。

DeDeCMS代码审计梅开二度

这里还发现了可以直接上传空php文件,但是一直找不到对应移动了的地址,即使使用断点或者打印出来依旧找不到文件,继续向下看代码

DeDeCMS代码审计梅开二度

这里调用了一个函数GetEncodeFile跟进查看,记住这个函数第二个变量为TRUE

DeDeCMS代码审计梅开二度

这才发现是这个函数将我们上传的文件直接进行了删除,虽然看到里面有一些函数为fread等函数,但是filename参数传进来的是MD5加密值

DeDeCMS代码审计梅开二度

暂时不考虑这些函数,但是我们回到我们创建的项目管理地方,查看除了修改还有什么功能

DeDeCMS代码审计梅开二度

发现我们创建的这个项目还可以进行安装,我们点击安装找到路由查看对应代码

DeDeCMS代码审计梅开二度

点击安装进行抓包寻找路由地址

    module_main.php中的setupstart

DeDeCMS代码审计梅开二度

对应代码如下

DeDeCMS代码审计梅开二度

首先进行了一个文件的权限检查然后做了一系列操作,我们主要看WriteSystemFile函数

DeDeCMS代码审计梅开二度

在这个函数当中依然存在fwrite写入函数,我们看到首先filename是一个hashcode和-还有ntype.php结尾,我们进行echo输出查看内容

DeDeCMS代码审计梅开二度

首先记住这里的hash值

DeDeCMS代码审计梅开二度

59155be87ea60c5c65ec1f7a46a0fc9d是这个
当我点击确定的时候发现

DeDeCMS代码审计梅开二度

出来的文件和我们刚开始的hash值相同,文件也是这个名称,然后这次就没有删除代码了,进行了写入这个php文件,也就是他会将我们当时上传的文件以及各种信息放在一个地方,然后没有安装的时候会删除这些文件,当安装的时候再去调用hash值去写入这些文件个人这样子理解的
最后查看文件

DeDeCMS代码审计梅开二度

已经被保存下来了

0x02漏洞利用

这里有两个坑没说到,第一个就是再移动文件的地方存在过滤代码,他会检测代码当中是否包含一些危险字符,同样是使用的我正则表达式进行的过滤,我们绕过去就可以,我这里使用了base64编码绕过,第二个就是他文件上传无论上传什么格式文件,最终写入文件都是php格式的没必要硬性要求PHP文件(这个师傅们下来可以自己测试一下)

DeDeCMS代码审计梅开二度

DeDeCMS代码审计梅开二度

准备好这个文件,内容是向D盘下面写入一个1.txt文件

DeDeCMS代码审计梅开二度

随便找一个没有安装的项目,进行上传一个恶意文件(需要一定免杀)

DeDeCMS代码审计梅开二度

注意勾选这个

DeDeCMS代码审计梅开二度

上传好了之后,进行安装

DeDeCMS代码审计梅开二度

成功安装(其中有一行代码是之前我们添加的哪个调试代码)

DeDeCMS代码审计梅开二度

然后查看D盘根目录是否多出来一个1.txt文件

DeDeCMS代码审计梅开二度

成功写入文件

DeDeCMS代码审计梅开二度

0x03小结

    这个就是之前我自己去审计出来的一个漏洞,也是可以getshell和一位22年的师傅重复了,其实有时候我们从代码的角度去寻找这些问题其实及其的繁琐,有时候会发现还不如黑盒来的快,只是一个简单的上传安装,却要分析这么多的东西!

DeDeCMS代码审计梅开二度

原文始发于微信公众号(进击安全):DeDeCMS代码审计梅开二度

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月8日14:16:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DeDeCMS代码审计梅开二度https://cn-sec.com/archives/1933362.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息