如何修复 jQuery UI 中对话框小部件 jquery.ui.dialog.js 中的跨站点脚本 (XSS) 漏洞

How to Fix the Cross-site scripting (XSS) vulnerability in jquery.ui.dialog.js in the Dialog widget in jQuery UI

我正在使用 opencart 1.5.6,我遇到了一个问题,

问题:"Cross-site scripting (XSS) vulnerability in jquery.ui.dialog.js in the Dialog widget in jQuery UI"。

应用中使用了jqueryui版本1.8.16。需要帮助解决此问题。 TIA

你是说 Title XSS vulnerability 吗?您无法在您的代码中真正 修复 它,但您可以确保不将源自用户输入的任何内容作为对话框标题传递(或 html 预先对其进行编码)。虽然这不能修复 jQuery UI,但它可以降低应用程序中的风险。 (但是你要记得到处都做,以后还要改,这样就不太好了。)

大多数时候您不应该修复第 3 方库漏洞。一般来说,图书馆无论如何都会得到修复,你只需要更新,这里似乎就是这种情况。使用jQueryUI最新版本应该没问题

编辑:

在您使用 OpenCart 的情况下,这可能意味着将 OpenCart 本身升级到最新版本,因为据我所知,1.5.6 取决于易受攻击的 jQuery 版本。您的应用程序是否真的容易受到 XSS 攻击取决于 OpenCart 如何使用 jQuery UI 以及它是否将用户输入作为对话框标题传递。

我假设您将此作为渗透测试报告发现,并且测试人员可能已经看到 jQuery 的易受攻击版本 - 这并不一定意味着您的应用程序中的漏洞实际上是可以利用的。当然有可能。

定期将第 3 方升级到最新版本是一种很好的做法,这有助于解决此类漏洞。