.innerHTML& XSS预防

时间:2017-10-02 21:49:19

标签: javascript html xss

我有以下代码行:

document.getElementById("div-1").innerHTML = userInput;

其中userInput是用户提供的变量。我意识到用户可以通过插入以下内容轻松插入有害脚本:

<img src="/" onerror="alert('attack');"/>

但是,我不确定这是否是XSS的一个例子,因为我觉得只有受影响的用户才会是攻击者。

这是XSS的一个例子吗?如果是这样,您能举例说明攻击者如何以XSS的形式利用此漏洞以及如何减轻此安全风险?

1 个答案:

答案 0 :(得分:0)

是的,这是XSS。如果只有攻击者他/她自己受到影响,则称为自我XSS。然而,自我XSS通常可以与其他错误(例如CSRF)链接,以将自我XSS转变为可行的攻击向量。

如果将userInput分配给.textContent而不是.innerHTML,则指示浏览器将数据视为文本而不是HTML。