【问题标题】:Javascript tabs cause a critical error (XSS) in HP fortify scanJavascript 选项卡在 HP fortify 扫描中导致严重错误 (XSS)
【发布时间】:2017-07-12 22:09:20
【问题描述】:

我有一个一直在使用的 JavaScript 选项卡库,但随着我们最近升级 Fortify,我们在代码的 window.location 部分遇到了严重错误(编辑,应该提到这是原代码,修改前):

var b=window.location.href;

我们的第一个修改是:

var b = (escape(window.location.href.toString()));

当失败时,我们发现并尝试了以下方法:

var b = (encodeID(window.location.href.toString()));

function encodeID(s) {
    if (s==='') return '_';
    return s.replace(/[^a-zA-Z0-9.-]/g, function(match) {
    return '_'+match[0].charCodeAt(0).toString(16)+'_';
    });
}

但再次运行 Fortify 仍会引发严重错误。 也试过了:

var b=encodeURIComponent(window.location.href);

仍然很关键。
有人想通过它吗?

【问题讨论】:

  • 看看那个answer
  • 我今天读到了,但我想我不明白。它说选项1是安全的。库中的原始代码有 var b=window.location.href;这应该是安全的,但这也很关键。我没有分配它去的地址,除了用户单击选项卡之外,他们没有其他输入选项。我知道有人可以从窗口复制地址并使用传递的参数来做坏事;但是,我不明白如何解决它。我上面的所有尝试都遇到了严重错误。

标签: javascript xss fortify


【解决方案1】:

@Carlos Mendieta 我同意你的看法。我认为 Fortify 在这里错误地报告了一个问题。您没有为 window.location.href 分配值,您只是在变量中设置值。关于安全堆栈交换security stack exchange: JS code giving xss vulnerability 的讨论基本上是相同的。我想看看你是否可以将 Fortify 调整为不报告此项目。

【讨论】:

  • 欣赏输入。我会给那个网站看看。我希望我们可以微调 Fortify 自己,但不幸的是,我们不运行该服务器和那些家伙.. 呃。再次感谢。
猜你喜欢
  • 1970-01-01
  • 2019-04-10
  • 2011-04-02
  • 2023-03-27
  • 2022-06-21
  • 2015-06-30
  • 2018-08-15
  • 2023-03-23
  • 1970-01-01
相关资源
最近更新 更多