蝉知CMS7.0.1后台模板Getshell

 

目录

漏洞描述:

漏洞URL:

漏洞描述:

漏洞审计:

漏洞修复:


web安全学习了解: web渗透测试              
官网: 宣紫科技 

漏洞名称:蝉知CMS7.0.1后台模板Getshell

漏洞版本号V7.0.1

漏洞危害:高危

漏洞描述:

蝉知企业门户系统是由业内资深开发团队开发的一款专向企业营销使用的企业门户系统,企业使用蝉知系统可以非常方便地搭建一个专业的企业营销网站。

后台模板getshell。

漏洞URL:

http://www.czcms.cc/www/admin.php?m=ui&f=edittemplate

漏洞描述

首先登陆后台->设计->编辑模板

Burp改包

直接getshell

漏洞审计:

漏洞所在文件:\system\module\ui\control.php(在后台模板编辑)
漏洞文件代码:(只贴上相关代码)

首先我们看第788行,$template = $this->config->template->{$this->app->clientDevice}->name;这里代表获取他自己对象中的config属性中的template对象中的{$this->app->clientDevice}对象中的name属性,可以这样理解这里只是获取他的默认模块。我们看看第791行if($_POST)判断$_POST是不是上传,如果是则进入区间。第793行$canManage = array('result' => 'success');创建一个数组,if(!$this->loadModel('guarder')->verify()) $canManage = $this->loadModel('common')->verifyAdmin();这里可以看到if判断是否已经上传过他要求的目录,如果为true那么他就不会去调用验证区间直接跳到第795行。if($canManage['result'] != 'success')如果验证不通过他就会提示需要创建文件,就不会走下下面的区间。我们在看看第796行$result = $this->ui->writeViewFile($template, $this->post->module, $this->post->file);,这里一看就是进入其他区间的,我们追下这个方法在那个地方。

路径:system\module\ui\model.php.php

第1523行public function writeViewFile($template, $module, $file),public代表公共方法,第1525行$file = $this->getExtFile($template, $module, $file);,他这里又调用一次当前文件中的getExtFile方法。

这里可以看到他这里只是简单输出个路径,无视他。回到第二张图片,第1526行$filePath = dirname($file);,这里代表返回路径中的目录部分,第1527行,if(!is_dir($filePath)) mkdir($filePath, 0777, true);判断文件夹是否存在,如果不存在则创建文件夹并赋值777权限。第1528行和第1529行是定义一个数组,第1530行$content = str_replace($gibbedEvils, $evils, $this->post->content);,代表字符串替换,其实他这里写错了不应该这样写的,可以看到他这个$gibbedEvils数组把危险函数用空格来隔开,这样肯定不可以运行的,这个没有问题。那么我们在看看第二个数组$evils,这里的危险函数是可以直接运行的,但是呢,他字符串替换的时候把两个数组搞反了,这样就导致用户端直接上传木马。第1532行if(function_exists('get_magic_quotes_gpc') and get_magic_quotes_gpc()) $content = stripslashes($content);,第一个判断是判断他是否有这个自定义变量,并且get_magic_quotes_gpc()函数是否开启,如果这两个条件满足则使用stripslashes去掉反斜杠函数。第1533行就是写入文件了$result = file_put_contents($file, $content);。让我们在回到第一张图片。第797行if($result) $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => inlink('editTemplate', "moduel=$module&file=$file")));,这里判断成功则提示个信息,如果不成功则返回失败信息$this->send(array('result' => 'fail', 'message' => $this->lang->fail));。

漏洞修复

路径:system\module\ui\model.php.php

在1524行下面添加个basename,返回路径中的文件名,然后在第1530行加2个值,第一个是过滤<?php,为啥说过滤<?php呢?因为如果你要运行php必须加上标准的不然真个php代码是运行不起来的。然后在使用strtolower函数,强制吧英文大写转换成小写在做处理,这样不管你是大小写来写的字我都过滤掉。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
大家好,我们非常自豪地向大家推出蝉知企业门户3.0版本。该版本实现了区块的跨列布局和模板风格样式的自定义功能,进一步增强了蝉知系统的定制性。加上之前实现的区块布局、模板风格等功能,蝉知系统可以说是目前可定制性最强的企业门户系统了,让我们一起来领略下吧。 内容布局方面: 内容布局蝉知系统实现了区块和布局的概念,可以像搭积木一样对每个页面的内容进行排列组合,从而实现内容布局的个性化。 3.0版本更实现了区块的跨列布局功能,进一步增强了布局的灵活性,可以使用这个功能实现对网页布局的各种布局组合。 页面样式方面: 页面样式方面蝉知系统实现了模板 + 风格的体系。模板决定了页面的代码结构,风格决定了页面的样式。 3.0版本实现了对风格样式的自定义功能,普通用户可以不需要了解样式表等概念也可以实现样式的个性化。 同时蝉知系统还增加了单个产品或者文章的样式和js特效的自定义功能。 还可以直接写一个全局样式表文件来实现对整个网站样式的控制。 搜索引擎(SEO)优化方面: 蝉知系统全面针对搜索引擎进行优化,全站支持伪静态,可以生成简洁明了的目录结构。 可以针对产品和文章的类目设置别名,实现语义化的路径结构。 可以针对单个文章和产品设置别名。 每篇文章或者产品都可以设置摘要、关键词等关键信息。 功能整合方面: 蝉知系统内置了博客、论坛、手册等功能,无需再整合第三方的论坛或者wiki等系统。 蝉知系统内置了QQ和微博的登录功能,方便用户登录注册。 蝉知系统内置了微信的公众号管理功能,非常方便的将网站内容和微信结合在一起。 开发扩展方面: 蝉知系统的底层框架和前端框架都是自主研发的,扩展性、定制性都非常深入。 企业可以在蝉知基础上开发自己的应用,使之更符合自己的业务逻辑。 一、修改记录 1、每套风格都支持样式自定义 2、样式自定义选项细分 3、区块支持跨行 4、产品增加排序功能 5、整理一键安装包 6、调整各个模板风格的细节问题 7、区块的自定义应当能够可视,不是被隐藏在后面 8、类目和论坛版块支持排序 9、解决别名中文路径无法识别的问题 10、control.class.php 支持用户的扩展,方便用户使用自己的模板引擎 11、后台的菜单导航管理页面优化 12、菜单子导航编辑找不到入口,把折叠展开图标变得明显些 13、上传附件的扩展名统一用小写 14、整理附件上传白名单 + 黑名单 15、列表取消缩进,嵌套的列表第二层有缩进,包括前台的展示 16、文章列表的评论数量不包括没有通过审核的 17、文章增加样式和js字段,可以让用户直接写样式表和js代码 18、前台的留言多个回复之间缩小间距 19、前台登录之后,发表者评论时,缩小接收邮件提醒按钮的间距,留言时候添加是否接受邮件提醒的按钮 20、论坛帖子的管理链接直接显示 21、解决云蝉知 网站和博客网站ico图标不同步的问题 22、调整firefox下small标签样式 23、解决编辑器里面内容插入php代码无法编辑的问题 24、解决编辑器内容添加样式表无法编辑的问题 25、QQ登录重复的问题 26、QQ窗口的链接改为新开链接 27、安装的时候增加对版权提示的声明 二、下载地址 源码包: http://dl.xirangit.com/eps/3.0/chanzhiEPS.3.0.zip 三、安装和升级文档 安装文档:http://www.chanzhi.org/book/chanzhieps/5.html 升级文档:http://www.chanzhi.org/book/chanzhieps/68.html 四、演示 前台演示:http://demo.chanzhi.org 后台演示:http://demo.chanzhi.org/backend.php

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值