我正在尝试为自己制作一个小型 XSS 演示,但它没有按预期工作。我有一个输入框和一个按钮。单击该按钮会在 div 中显示输入框的值。这是我为 onclick 编写的回调:
var showInput = function()
{
var field = document.getElementById("field1");
var box = document.getElementById("displayArea");
box.innerHTML = field.value;
}
当我输入< script>alert("XSS!");< /script>
时在框中并单击按钮,没有显示任何内容,也没有任何反应。我对XSS的理解有误吗?任何人都可以举一个容易受到攻击的简单例子吗?
最佳答案
分配给.innerHTML
不执行<script>
标签。为了动态创建脚本,您必须使用 document.createElement('script')
.
var script = document.createElement('script');
script.innerHTML = field.value;
box.appendChild(script);
关于javascript - 为什么这不存在xss漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20154027/