客户端 DOM XSS、Checkmarx 标记 JavaScript/jQuery 代码、需要清理帮助

问题描述

我有一个遗留的自定义脚本,它通过 jQuery append() 方法操作现有的 HTML。

Checkmarx 对此进行了标记,并显示类似于以下内容错误消息:

应用程序的函数XXX 将不受信任的数据嵌入到生成输出中,并在第 XXX 行附加。这种不受信任的数据未经适当的清理或编码直接嵌入到输出中,使攻击者能够将恶意代码注入到输出中。

我必须更新此代码,因此我正在查看使用白名单的第三方 JS 库,例如 XSS (https://www.npmjs.com/package/xss) 或 dompurify (https://www.npmjs.com/package/dompurify)。

我的问题是这个脚本中有很多 HTML 标签被 jQuery 操作。 table、tr、td、a、input、select等元素和各种属性属性列表必须包含多个 aria-xxx 标签,例如 aria-disabled、aria-owns、aria-pressed、adumasom 才能使 jQuery UI 正常工作。

也许可以添加钩子来 dompurify,我想我可以允许任何以“aria-”开头的属性。这似乎是一个丑陋的解决方案。

我只希望代码安全,并删除任何

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)