Node.js socket.io有xss漏洞吗?如何解决这个问题?
我相信socket.io有一个XSS漏洞,我想知道如何解决这个问题 请参阅我关于哪个有XSS漏洞的帖子 从redis cli执行以下操作时:Node.js socket.io有xss漏洞吗?如何解决这个问题?,node.js,socket.io,Node.js,Socket.io,我相信socket.io有一个XSS漏洞,我想知道如何解决这个问题 请参阅我关于哪个有XSS漏洞的帖子 从redis cli执行以下操作时: publish pubsub "<script>alert('Hello world!');</script>" 这足够了还是我遗漏了什么?甚至可以在socket.js中解决这个问题?有一个为XSS提供清理方法的库 有一个为XSS提供消毒方法的库 你认为它有什么“xss漏洞”吗?将我的问题更新到另一个有此漏洞的主题的代码段中。逐字
publish pubsub "<script>alert('Hello world!');</script>"
这足够了还是我遗漏了什么?甚至可以在socket.js中解决这个问题?有一个为XSS提供清理方法的库 有一个为XSS提供消毒方法的库 你认为它有什么“xss漏洞”吗?将我的问题更新到另一个有此漏洞的主题的代码段中。逐字显示不受信任的数据是xss漏洞。对于socket.io来说,这并没有什么特别之处。但是socket.io可以(而且应该逃逸)或者我错了吗?考虑到这个问题已经是Google上“socket.io逃逸”的第二个结果(以及“socket.io xss”的最高结果),我想它不会。为什么要这样做?如果它自动为您转义了内容,那么使用它从可信源获取HTML将变得不必要的困难。如果你想逃避这些东西,你可以自己做。你认为它有什么“xss漏洞”吗?更新了我的问题到另一个有此漏洞的主题的代码段。逐字显示不受信任的数据是xss漏洞。对于socket.io来说,这并没有什么特别之处。但是socket.io可以(而且应该逃逸)或者我错了吗?考虑到这个问题已经是Google上“socket.io逃逸”的第二个结果(以及“socket.io xss”的最高结果),我想它不会。为什么要这样做?如果它自动为您转义了内容,那么使用它从可信源获取HTML将变得不必要的困难。如果你想逃避,那就自己动手吧。
/**
* Escape the given string of `html`.
*
* @param {String} html
* @return {String}
* @api private
*/
function sanitize(html){
return String(html)
.replace(/&(?!\w+;)/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"');
}