socket.io hat XSS-Schwachstelle? Wie dieses Problem zu lösen?
Frage
Ich glaube, socket.io hat eine XSS-Schwachstelle und ich frage mich, wie diese zu lösen.
Siehe meinen Beitrag über PubSub redis mit socket.io , die eine / die XSS-Lücke hat.
von redis-cli, wenn Sie tun:
publish pubsub "<script>alert('Hello world!');</script>"
Sie erhalten eine Warnmeldung mit Hello world!
sehen, die ist BAD ...
Um dies zu lösen, ich kopiert den folgenden Ausschnitt aus visionmedia der Jade-Bibliothek und frage mich, ob das genug ist?
/**
* 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, '"');
}
Ist das genug oder bin ich etwas fehlt? Vielleicht sogar in socket.js das Problem zu lösen?
Lösung
Es gibt eine Knoten-Validator -Bibliothek, die für XSS sanitization Methoden zur Verfügung stellt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow