javascript - 为什么这不存在xss漏洞?

标签 javascript xss

我正在尝试为自己制作一个小型 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);

DEMO

关于javascript - 为什么这不存在xss漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20154027/

相关文章:

javascript - 如何在 javascript 中正确地将 IFrame 滚动到底部

javascript - Webpack - 使用文件加载器需要图像

javascript - 如何在 javascript 文件中使用 Encode.forHtml() ?

php - Zend View 中的 $this->escape() 是否足以用于 xss

php - 我可以用来测试我的页面输入的 XSS 示例?

javascript - 在 ES6 中的 Object.keys 中访问 this

javascript - 主干和 Rails 关联 : Avoiding JSON HashWithIndifferentAccess errors

javascript - JQuery - 如何检查输入是否来自键盘?

java - Struts 2 对输入参数进行编码以避免 XSS

java - HTML 输入转义 - 正确的方法是什么?