我想用我们的代码防止 XSS,问题是它可能需要 JS 和 html 转义,并且可能有点棘手。
以下示例代码与我们的代码类似
<script>
var CURRENT_VALUE = '<img src=1 onerror=alert(1)>';
document.getElementById("valueBox").innerHTML = CURRENT_VALUE;
</script>
让我们假设 CURRENT_VALUE 是动态插入的。那么在这种情况下我应该怎么做,我知道一个简单的 HTML 编码可能不起作用,因为攻击者可能会传递 unicode 转义值,并且当 JS 解析器清除它时它可能会被转储到文档中。
那么正确的方法是什么,
我应该先进行 JS 转义,然后在 document.getElementbyID 之前进行 html 转义吗?那将如何工作?
假设 CURRENT_VALUE 是十六进制编码并包含 /x027img... 等等