【问题标题】:Why is this javascript injection attack not working? [duplicate]为什么这种 javascript 注入攻击不起作用? [复制]
【发布时间】:2015-07-29 09:55:42
【问题描述】:

我正在尝试找到正确的方法来强化我的 Javascript 以抵御代码注入攻击。

所以,我创建了我认为会成功的代码注入:

    document.getElementById("result").innerHTML = "hello <script> alert(0) <\/script> kuku";

在调试器中评估 document.getElementById("result").innerHTML 表明它确实通过了:

"hello <script> alert(0) </script> kuku"

那怎么没有警报呢?

【问题讨论】:

  • 你是什么意思,“它确实通过了”?该脚本似乎显然没有经过评估。

标签: javascript code-injection javascript-injection


【解决方案1】:

.innerHTML 设置为包含&lt;script&gt; 块的内容将永远不会导致对嵌入的代码进行评估。这就是.innerHTML 的工作原理。

【讨论】:

  • 与副本中的答案相比,这个答案更直接,更切题:D
  • @slebetman 谢谢朋友 :)
  • 是否适用于所有浏览器?
  • @ТаняТ.:对于 IE、Safari、Chrome、Netscape、Firefox、Opera 和 Konqueror 来说都是如此。不确定其余的。你够了吗?
  • 当然,NCSA Mosiac 从未实现过 javascript,所以这对 Mosiac 来说不是问题。
猜你喜欢
  • 1970-01-01
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-28
  • 2011-01-03
  • 2021-02-08
相关资源
最近更新 更多