0

我们有一个Fortify发现:跨站点脚本DOM.

代码如下:

函数applyFormatting(ruleObject){元素=规则对象。目标元素if(元素){if(ruleObject.BackgroundColor){$(element).css('background-color',ruleObject.BackgroundColor);}if(ruleObject.TextColor){$(element).css('color',ruleObject.TextColor);}}}

这是一个在线发现$(element).css('background-color',ruleObject.BackgroundColor);$(element).css('color',ruleObject.TextColor);.

对于ruleObject。文字颜色ruleObject。背景颜色

数据库中的示例值包括:#f52f3c型#1896f0年

您无法编写正常的InjectSafeHTML代码,因为#所需的颜色十六进制代码。

处理这一发现的有效方法是什么?

这是我们的申请要求。

1
  • 您可以通过清理和验证ruleObject来处理Fortify查找。BackgroundColor和ruleObject。将TextColor值应用于CSS属性之前。使用JavaScript对象映射可接受的颜色值,并对此对象进行检查,以防止恶意代码的注入,同时允许合法的颜色自定义。 评论 5月2日10:17

0

重置为默认值

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.