为啥这种 javascript 注入攻击不起作用? [复制]

Posted

技术标签:

【中文标题】为啥这种 javascript 注入攻击不起作用? [复制]【英文标题】: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"

那怎么没有警报呢?

【问题讨论】:

你是什么意思,“它确实通过了”?该脚本似乎显然没有经过评估。 【参考方案1】:

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

【讨论】:

与副本中的答案相比,这个答案更直接,更切题:D @slebetman 谢谢朋友 :) 是否适用于所有浏览器? @ТаняТ.:对于 IE、Safari、Chrome、Netscape、Firefox、Opera 和 Konqueror 来说都是如此。不确定其余的。你够了吗? 当然,NCSA Mosiac 从未实现过 javascript,所以这对 Mosiac 来说不是问题。

以上是关于为啥这种 javascript 注入攻击不起作用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥将内部类注入同一个外部类中的另一个内部类不起作用?

javascript注入$http post方法不起作用

为啥这种方法不起作用?

为啥我的 Javascript 不起作用?

Javascript代码不起作用?告诉我为啥[重复]

Javascript:为啥有时 alert() 不起作用但 console.log() 起作用?