• 人民网评:异地医保的步子还需更大一些 2019-07-18
  • 敢想敢拼的邹市明:用奥运精神助推青少年体育事业发展 2019-07-13
  • 改革开放40年——从全国糖酒会看酒业跌宕起伏酒业 中国 2019-07-13
  • 这三个史无前例,让美国有点懵了 2019-07-11
  • 文创大咖齐聚成都 共话“一带一路”文化交流 2019-07-06
  • 农历五月初二 唐代高僧雪峰义存禅师圆寂纪念日 2019-07-06
  • 山西与腾讯公司签署战略合作协议 2019-07-04
  • 山西:“四好农村路” 致富添门路 2019-07-02
  • 【专题】社会主义核心价值观主题微电影优秀作品展示 2019-07-02
  • 《钟馗捉妖记》杨旭文为魔族惨烈“献身” 2019-06-10
  • 个税法迎第七次大修 起征点由每月3500元提高至5000元 2019-06-10
  • 摄影师捕捉超强EF3龙卷风 巨大云团画面惊险壮观 2019-05-26
  • 农民夜校成十九大精神宣讲重要课堂 2019-05-25
  • 拆迁款分配引冲突 儿子推倒八旬老父致其死亡 2019-05-25
  • 2017年邵逸夫奖在港颁奖 5位科学家获此殊荣 2019-05-23
  • 代理加盟 2019全新代理计划 赚钱+省钱双管齐下,独立平台,丰厚利润!

    您现在的位置: 11选5任四包赚不赔40注 > 织梦大学 > 织梦安全 >

    山西体彩11选5任三遗漏:Dedecms_V5.7 getshell 利用后台文件上传功能漏洞

    来源:未知 发布时间:2019-04-02热度: ℃我要评论
    虽然是复现文章,不过会更详细地来阐释这个漏洞,,因为现在后台getshell花样层出不穷,因此想要复现一波来学习一波getshell姿势~ 因为是最新的dedecms版本,因此我们直接在织梦官网上下载即可~ //www.dedecms.com/products/dedecms/downloads/ DedeCMS V5.7 SP2...

    11选5任四包赚不赔40注 www.zo-n.com 织梦模板秀站淘宝店开业,好礼送不停

    虽然是复现文章,不过会更详细地来阐释这个漏洞,,因为现在后台getshell花样层出不穷,因此想要复现一波来学习一波getshell姿势~

     

    因为是最新的dedecms版本,因此我们直接在织梦官网上下载即可~

     

    //www.dedecms.com/products/dedecms/downloads/

     

    DedeCMS V5.7 SP2正式版

     

    发布日期: 2017-04-05

     

    这里我测试的是utf-8版本,,感觉版本这个无所谓~

     

    下载下来然后安装什么的就不说了,,直接进后台,找到漏洞功能以及对应的功能函数

     

    Dedecms_V5.7 根据文件上传功能来getshell

    漏洞在”???rdquo;下的”广告管理”处,这里我们点击“添加一个新广告”

    Dedecms_V5.7 根据文件上传功能来getshell

     

     

    跟原文复现的有一点不一样,,不过不影响,,下面我们来抓包看看参数

     

    Dedecms_V5.7 根据文件上传功能来getshell

     

     

    我们的参数在normbody里,文件为dede/ad_add.php

     

     $query = "

         INSERT INTO xiuzhanwang_myad(clsid,typeid,tagname,adname,timeset,starttime,endtime,normbody,expbody)

         VALUES('$clsid','$typeid','$tagname','$adname','$timeset','$starttime','$endtime','$normbody','$expbody');

        ";

        $dsql->ExecuteNoneQuery($query);

        ShowMsg("成功增加一个广告!","ad_main.php");

        exit();

    在这里我们看到了我们的代码已经插入到了数据库,,一般的思路应该是找哪些php文件调用了这个广告代码,但是点击我们的广告代码就出现了地址。

    Dedecms_V5.7 根据文件上传功能来getshell

    $cacheFile = DEDEDATA.'/cache/myad-'.$aid.'.htm';

    if( isset($nocache) || !file_exists($cacheFile) || time() - filemtime($cacheFile) > $cfg_puccache_time )

    {

        $row = $dsql->GetOne("SELECT * FROM `xiuzhanwang_myad` WHERE aid='$aid' ");

        $adbody = '';

        if($row['timeset']==0)

        {

            $adbody = $row['normbody'];

        }

        else

        {

            $ntime = time();

            if($ntime > $row['endtime'] || $ntime < $row['starttime']) {

                $adbody = $row['expbody'];

            } else {

                $adbody = $row['normbody'];

            }

        }

        $adbody = str_replace('"', '\"',$adbody);

        $adbody = str_replace("\r", "\\r",$adbody);

        $adbody = str_replace("\n", "\\n",$adbody);

        $adbody = "<!--\r\ndocument.write(\"{$adbody}\");\r\n-->\r\n";

        $fp = fopen($cacheFile, 'w');

        fwrite($fp, $adbody);

        fclose($fp);

    }

    include $cacheFile;

     

    这里首先是三个判断条件,nocache不为空,cachefile不为空,这些判断条件我们都可以通过GET或者POST来提交,从而进行伪造~

     

    进入判断条件后往下走,首先是从数据库中select aid,那么这时候我们到数据库中去看看:

     

     

    这里当时在填写广告信息的时候,设置的timeset为0,因此也就直接令$adbody = $row[‘normbody’];

    而这里的normbody也就是我们的evil code,下面我们就应该重点看这个adbody参数

    首先进行三个replace,这里的replace好像对我们的参数没有影响,因此直接跳过~

    接着将adbody参数插入到document.write()代码中,这里如果做过ctf的人都应该有一种感觉,那就是参数闭合的话,将会造成任意代码执行,这里也就是漏洞的成因所在!

    最后打开cachefile,将adbody写入到文件中~

    这里由于这个文件是html静态文件,,因此没有可利用点,,还是找下文件吧,,

    WWW\uploads\data\cache\myad-3.html

    如果是动态文件,,因此我们也可以利用前后闭合来实现任意代码,,扯远了。。

    总结来说其实就是$adbody = “<!–\r\ndocument.write(\”{$adbody}\”);\r\n–>\r\n”; 这段代码出的问题

    下面我们来构造参数进行poc验证~

    首先是访问给的广告链接

    Dedecms_V5.7 getshell 利用后台文件上传功能漏洞

     

    这里我还没输入参数,,下面输入参数逐步进行循环~

    其实也就是两个判断条件和一个代码的执行~

    Dedecms_V5.7 getshell 利用后台文件上传功能漏洞

    这里url不用说,,就是给的广告链接,,其中GET了aid参数,,因此我们只要加上nocache参数,来实现isset($nocache),至于!file_exists($cacheFile)这个刚才文件都找到了,,肯定存在的。。

    最后就是就是代码执行,,这里一开始有强迫症,我一定要闭合参数?。ㄏ旅婢褪潜蘸衔侍獾囊桓龀⑹裕?/p>

    这里一开始很不解,,这出现的是啥?

    <!-- document.write("-->"); -->

    这是源码,,我们插入了–>这段,,但是双引号没闭合??!也就是页面语句实际成了下面这样

    <!-- document.write("--> "); -->

    因此也就出现了上面的情况,,这里不太理解,,这样不闭合竟然可以。。

     

    但是我有强迫症。。

     

    Dedecms_V5.7 getshell 利用后台文件上传功能漏洞

     

    最后强行闭合。。虽然对结果没影响。。

     

    上述如有不当之处,敬请指出~

     

    本文地址://www.zo-n.com/dedecms_aq/1617.html

      发表评论

      评论列表(条)

      • 人民网评:异地医保的步子还需更大一些 2019-07-18
      • 敢想敢拼的邹市明:用奥运精神助推青少年体育事业发展 2019-07-13
      • 改革开放40年——从全国糖酒会看酒业跌宕起伏酒业 中国 2019-07-13
      • 这三个史无前例,让美国有点懵了 2019-07-11
      • 文创大咖齐聚成都 共话“一带一路”文化交流 2019-07-06
      • 农历五月初二 唐代高僧雪峰义存禅师圆寂纪念日 2019-07-06
      • 山西与腾讯公司签署战略合作协议 2019-07-04
      • 山西:“四好农村路” 致富添门路 2019-07-02
      • 【专题】社会主义核心价值观主题微电影优秀作品展示 2019-07-02
      • 《钟馗捉妖记》杨旭文为魔族惨烈“献身” 2019-06-10
      • 个税法迎第七次大修 起征点由每月3500元提高至5000元 2019-06-10
      • 摄影师捕捉超强EF3龙卷风 巨大云团画面惊险壮观 2019-05-26
      • 农民夜校成十九大精神宣讲重要课堂 2019-05-25
      • 拆迁款分配引冲突 儿子推倒八旬老父致其死亡 2019-05-25
      • 2017年邵逸夫奖在港颁奖 5位科学家获此殊荣 2019-05-23
      • 辽宁11选5有假吗 湖南彩票论坛排列3排列5 大冶市7星彩一等奖 双色球图表走势图大全 重庆快乐十分app下载 深圳风采2019091 江西多乐彩11选5 84一波中特 山西快乐十分开走势 青海十一选五开奖结果走势图 百人牛牛规律图 广东彩票兑奖中心 3d开机号对应365金码号 广东新快3 刘伯温心水论坛4