php模板注入漏洞,74CMS前台模板引擎注入漏洞漏洞复现
74CMS 曝高危漏洞,攻击者只需注册会员账号,上传一份包含恶意内容的简历,即可控制网站服务器,进行任意操作。
漏洞复现.jpg
74CMS 又称 “骑士 CMS ”,是一项以 PHP 和 MySQL 为核心开发的一套免费并开源的专业人才网站系统。软件具有执行效率高、模板自由切换、后台管理功能方便等诸多优秀特点。74CMS 多应用于大型人才招聘网站,网站中通常会含有大量会员个人简历等私密信息,因此,该漏洞一旦被不法分子利用将产生极为严重的后果。
漏洞原理:
通过对 74CMS 最新版本进行源码分析,发现此漏洞是一个模板注入漏洞。 在文件 Application/Home/Controller/MController.class.php 中:
MController.class.php
可见,这里将 $type 参数传入 display 函数,display 函数是 ThinkPHP 中展示模板的函数。跟进了几个函数,进入了 View 类的 display 函数:
View 类
可见,这里拿到了 $templateFile 并传入 fetch 函数,将 fetch 的结果交给 render 函数。这两个函数,fetch 是将文件内容获取到,render 是使用 ThinkPHP 的模板引擎渲染。
拿自带的 favicon.ico 做下试验,可成功包含:
e.jpg
漏洞利用:
那么,这个漏洞如何利用?因为 type 的值是作为 display 函数的参数传入的,所以实际上这个漏洞可以理解为 “模板引擎注入”,现在只需要上传一个内容符合 ThinkPHP 模板格式的文件,再作为 type 的值即可。
查看 ThinkPHP 文档:
favicon.ico
可知,要使用原生 PHP 的话,只需要将代码包含在 标签内即可。
74CMS 里,个人用户创建简历后支持上传 docx 格式的简历。我们上传一个包含一句话木马的 docx 文件,将其作为模板。数据包如下:
数据包
pid 是简历 id,word_resume 就是包含模板的文件。上传成功,获取文件名和路径:
回显数据包
再将这个文件名作为 type 的值,成功执行一句话木马,CKnife(网站管理工具)连接,获取服务器权限:
远控
php模板注入漏洞,74CMS前台模板引擎注入漏洞漏洞复现相关推荐
- php getshell漏洞,74cms前台某处Getshell漏洞(SSTI)
这是一个服务端模板注入漏洞. Application/Home/Controller/MController.class.php namespace Home\Controller; use Comm ...
- DTCMS插件的制作实例电子资源管理(三)前台模板页编写
总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...
- 文件上传漏洞_通达OA前台任意文件上传漏洞+文件包含漏洞导致getshell
点击蓝字|关注我们 通达OA前台任意文件上传漏洞 +文件包含漏洞导致getshell 一.漏洞介绍/Profile/ 通达OA介绍: 通达OA(Office Anywhere网络智能办公系统)是由北京 ...
- 模板引擎ejs与html,后台模板引擎ejs与前台模板引擎artTemplate的简单介绍
动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...
- php缓存注入,利用Thinkphp 5缓存漏洞实现前台Getshell
原标题:利用Thinkphp 5缓存漏洞实现前台Getshell *本文原创作者:WindWing,属于FreeBuf原创奖励计划,禁止转载 0×00 背景 网站为了实现加速访问,会将用户访问过的页面 ...
- 2023最新彩虹易支付源码免授权2.0版前台模板美化/用户中心美化
正文: 彩虹易支付源码最新版免授权,2.0版本前台模板美化+前台用户中心美化版 在原来的基础上前后端都做了美化,结合了上个版本的前台模板美化,这次更新了前台用户中心美化2.0 程序: wwrhsi.l ...
- 微信开发视频、前台模板、vue、python、java、安卓、web视频+素材合集
https://pan.baidu.com/s/1NLmqi73x9oMR2BvFBHuqTg 转发只为了让更多人能快速搜索到自己想要的 鄙人不盛产资源,鄙人只是资源的搬运工 1:100本最棒前端开发 ...
- Pikachu漏洞靶场系列之SQL注入
文章目录 1.概述 1.1.发生原因 1.2.注入点类型 1.3.SQL注入流程 2.数字型注入(POST) 2.1.简易 2.2.拓展 3.字符型注入(GET) 4.搜索型注入 4.1.拓展 5.X ...
- 提高开发效率之安卓模板(上面有四种模板的教程,我之前会两种,看完之后还是只会两种2333)
原文地址: juejin.im/post/5c7339- 在平时的开发工作中,我们经常将一个地方的代码,复制粘贴到另外一个地方,俗称搬砖,搬砖搬多了,作为一个资深的挨踢民工,难免会总结一些提高生产力的 ...
最新文章
- Linux那些事儿之我是Sysfs(8)一起散散步-pathwalk
- MongDB的安装和基本操作 一(权限设置)
- 【读书笔记-数据挖掘概念与技术】数据挖掘的发展趋势和研究前沿
- 网站不允许上传asp cer cdx htr等文件时
- numpy.arange详解
- 乡村振兴国际经验-农民丰收节贸易会: 谋定城镇化进程
- window上安装mysql_在window上安装mysql - MySQL5.7.24 版本
- 【解决bug之路】JAVA 之 static
- 顺序队列,循环队列,链队列
- 为什么 GitHub 上的开发者比 iOS 上的要更值钱?
- c语言程序与结构,c语言基础与顺序结构-c语言程序设计.ppt
- 幼儿抽象逻辑思维举例_四个锻炼幼儿推理能力的小游戏,让孩子的逻辑思维更上一层楼...
- 由二叉树前序序列、中序序列输出相应后续序列
- 【STM32】开发板学习1 NUCLEO-L476RG:GPIO例程 点亮LED2灯
- 143_iOS干货50_认识几个概念:跨域问题和内网穿透
- 大厂纷纷押宝“元宇宙”“鸡肋”智能眼镜难成密钥
- 微信小程序——引入第三方图标、图标组件
- 啤酒车间平面布置图、水厂平面布置图、厂房设备布置图、污水厂管道布置图、乳品厂平面布置图、水果罐头工厂厂区总平面布置图、煤矿开采工作面综合布置图、日产500吨石灰窑CAD工艺布置图……各种布置图汇总
- 访问swagger/Knife4j 接口文档报错:java.lang.NumberFormatException: For input string: ““
- 适用于任何设备的屏幕共享应用程序 – Mirroring360