我有以下代码行:
document.getElementById("div-1").innerHTML = userInput;
其中userInput
是用户提供的变量。我意识到用户可以通过插入以下内容轻松插入有害脚本:
<img src="/" onerror="alert('attack');"/>
但是,我不确定这是否是XSS的一个例子,因为我觉得只有受影响的用户才会是攻击者。
这是XSS的一个例子吗?如果是这样,您能举例说明攻击者如何以XSS的形式利用此漏洞以及如何减轻此安全风险?
答案 0 :(得分:0)
是的,这是XSS。如果只有攻击者他/她自己受到影响,则称为自我XSS。然而,自我XSS通常可以与其他错误(例如CSRF)链接,以将自我XSS转变为可行的攻击向量。
如果将userInput分配给.textContent而不是.innerHTML,则指示浏览器将数据视为文本而不是HTML。