您现在的位置是:网站首页> 编程资料编程资料
DEDECMS网站管理系统模板执行漏洞(影响版本v5.6)_脚本攻防_网络安全_
2023-05-24
226人已围观
简介 DEDECMS网站管理系统模板执行漏洞(影响版本v5.6)_脚本攻防_网络安全_
影响版本:
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赋值。
2、include/inc_archives_view.php:
//这是模板处理类,如果附加表的模板路径存在,直接从附加表取值;GetTempletFile获取模板文件的方法就是取的此处的模板路径,从来带进去解析。
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($addonfields as $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` set typeid='$typeid',body='$body'{$inadd_f},userip='$userip' where aid='$aid' ";//执行构造的sql
- if(!$dsql->ExecuteNoneQuery($upQuery))
- {
- ShowMsg("更新附加表 `$addtable` 时出错,请联系管理员!","javascript:;");
- exit();
- }
- }
- …
//这是模板处理类,如果附加表的模板路径存在,直接从附加表取值;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'] = '';
- }
- …
- //获得模板文件位置
- function GetTempletFile()
- {
- global $cfg_basedir,$cfg_templets_dir,<
相关内容
- ECSHOP php商城系统过滤不严导致SQL注入漏洞_脚本攻防_网络安全_
- 科讯kesion 6.x – 7.06 SQL 注射漏洞VBS版利用工具第二版_脚本攻防_网络安全_
- php disable_functions 函数列表_脚本攻防_网络安全_
- 利用ntfs流隐藏你的一句话木马的方法_脚本攻防_网络安全_
- php后台插一句话后门的思路分享_脚本攻防_网络安全_
- dedecms官方模板包含一句话后门木马_脚本攻防_网络安全_
- 防止SQL注入攻击的一些方法小结_脚本攻防_网络安全_
- PoisonIvy Rat 远程溢出实战_脚本攻防_网络安全_
- PHP木马大全 一句话的PHP木马的防范_脚本攻防_网络安全_
- mssql2005 DB权限导出一句话_脚本攻防_网络安全_
点击排行
本栏推荐
