脚本/ html标签中的空格字符是否会停止XSS?

时间:2015-10-06 19:41:27

标签: javascript html security xss

这里没有看到这种技术:

https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

我希望能更好地理解原因。

我有以下功能(礼貌https://stackoverflow.com/a/287173/2144912):

comment = comment.replace(/&(amp|quot|#x27|gt|lt);/g, function (c) {
    return {
        '&': '&',
        '"': '"',
        ''': "'",
        '>': '> ',
        '&lt;': '< ',
    }[c]
})

用于显示已使用Underscore的_.escape()函数进行HTML转义的用户输入评论,并且:

  1. 允许使用通常转义的特殊字符(&amp;,&lt;,&gt;,',“)

  2. 虽然(希望)阻止了XSS

  3. 请注意&gt;&lt;如何返回带有额外空格的值:'< ''> '

    在测试中,如果用户输入:

    <h1>here is some html</h1>
    

    输出将是一个字符串(而不是HTML):

    < h1> test< /h1>
    

    这是一种有效的XSS预防技术吗?

0 个答案:

没有答案