为啥这种 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
设置为包含<script>
块的内容将永远不会导致对嵌入的代码进行评估。这就是.innerHTML
的工作原理。
【讨论】:
与副本中的答案相比,这个答案更直接,更切题:D @slebetman 谢谢朋友 :) 是否适用于所有浏览器? @ТаняТ.:对于 IE、Safari、Chrome、Netscape、Firefox、Opera 和 Konqueror 来说都是如此。不确定其余的。你够了吗? 当然,NCSA Mosiac 从未实现过 javascript,所以这对 Mosiac 来说不是问题。以上是关于为啥这种 javascript 注入攻击不起作用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章