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前台模板引擎注入漏洞漏洞复现相关推荐

  1. php getshell漏洞,74cms前台某处Getshell漏洞(SSTI)

    这是一个服务端模板注入漏洞. Application/Home/Controller/MController.class.php namespace Home\Controller; use Comm ...

  2. DTCMS插件的制作实例电子资源管理(三)前台模板页编写

    总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...

  3. 文件上传漏洞_通达OA前台任意文件上传漏洞+文件包含漏洞导致getshell

    点击蓝字|关注我们 通达OA前台任意文件上传漏洞 +文件包含漏洞导致getshell 一.漏洞介绍/Profile/ 通达OA介绍: 通达OA(Office Anywhere网络智能办公系统)是由北京 ...

  4. 模板引擎ejs与html,后台模板引擎ejs与前台模板引擎artTemplate的简单介绍

    动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...

  5. php缓存注入,利用Thinkphp 5缓存漏洞实现前台Getshell

    原标题:利用Thinkphp 5缓存漏洞实现前台Getshell *本文原创作者:WindWing,属于FreeBuf原创奖励计划,禁止转载 0×00 背景 网站为了实现加速访问,会将用户访问过的页面 ...

  6. 2023最新彩虹易支付源码免授权2.0版前台模板美化/用户中心美化

    正文: 彩虹易支付源码最新版免授权,2.0版本前台模板美化+前台用户中心美化版 在原来的基础上前后端都做了美化,结合了上个版本的前台模板美化,这次更新了前台用户中心美化2.0 程序: wwrhsi.l ...

  7. 微信开发视频、前台模板、vue、python、java、安卓、web视频+素材合集

    https://pan.baidu.com/s/1NLmqi73x9oMR2BvFBHuqTg 转发只为了让更多人能快速搜索到自己想要的 鄙人不盛产资源,鄙人只是资源的搬运工 1:100本最棒前端开发 ...

  8. Pikachu漏洞靶场系列之SQL注入

    文章目录 1.概述 1.1.发生原因 1.2.注入点类型 1.3.SQL注入流程 2.数字型注入(POST) 2.1.简易 2.2.拓展 3.字符型注入(GET) 4.搜索型注入 4.1.拓展 5.X ...

  9. 提高开发效率之安卓模板(上面有四种模板的教程,我之前会两种,看完之后还是只会两种2333)

    原文地址: juejin.im/post/5c7339- 在平时的开发工作中,我们经常将一个地方的代码,复制粘贴到另外一个地方,俗称搬砖,搬砖搬多了,作为一个资深的挨踢民工,难免会总结一些提高生产力的 ...

最新文章

  1. Linux那些事儿之我是Sysfs(8)一起散散步-pathwalk
  2. MongDB的安装和基本操作 一(权限设置)
  3. 【读书笔记-数据挖掘概念与技术】数据挖掘的发展趋势和研究前沿
  4. 网站不允许上传asp cer cdx htr等文件时
  5. numpy.arange详解
  6. 乡村振兴国际经验-农民丰收节贸易会: 谋定城镇化进程
  7. window上安装mysql_在window上安装mysql - MySQL5.7.24 版本
  8. 【解决bug之路】JAVA 之 static
  9. 顺序队列,循环队列,链队列
  10. 为什么 GitHub 上的开发者比 iOS 上的要更值钱?
  11. c语言程序与结构,c语言基础与顺序结构-c语言程序设计.ppt
  12. 幼儿抽象逻辑思维举例_四个锻炼幼儿推理能力的小游戏,让孩子的逻辑思维更上一层楼...
  13. 由二叉树前序序列、中序序列输出相应后续序列
  14. 【STM32】开发板学习1 NUCLEO-L476RG:GPIO例程 点亮LED2灯
  15. 143_iOS干货50_认识几个概念:跨域问题和内网穿透
  16. 大厂纷纷押宝“元宇宙”“鸡肋”智能眼镜难成密钥
  17. 微信小程序——引入第三方图标、图标组件
  18. 啤酒车间平面布置图、水厂平面布置图、厂房设备布置图、污水厂管道布置图、乳品厂平面布置图、水果罐头工厂厂区总平面布置图、煤矿开采工作面综合布置图、日产500吨石灰窑CAD工艺布置图……各种布置图汇总
  19. 访问swagger/Knife4j 接口文档报错:java.lang.NumberFormatException: For input string: ““
  20. 适用于任何设备的屏幕共享应用程序 – Mirroring360

热门文章

  1. js 在js字符串中添加空格
  2. 使用Open Broadcaster软件进行开源直播
  3. 赵钱孙李称体重,按照由大到小的顺序,打印出四人的姓氏的首字母和体重数(中间用空格隔开,每人一行)
  4. AngularJS介绍 - 下一个大框架
  5. Centos7安装Nethogs网络监控软件
  6. ffmpeg推流实现实时播放监控画面(rtsp to rtmp)
  7. 本质矩阵 基础矩阵 单应性矩阵
  8. 查看环境变量jdk版本、文件夹中的jdk版本
  9. js动态添加样式和jQuery动态添加样式
  10. 网页php载入live2d,给网页添加Live2D和图片不显示解决方法