Question

Je crois socket.io a une vulnérabilité XSS et je me demande comment résoudre ce problème.

Voir mon post sur PubSub Redis avec socket.io qui a un / le trou d'XSS.

de Redis-cli quand vous faites:

publish pubsub "<script>alert('Hello world!');</script>"

Vous verrez une boîte de dialogue d'alerte avec Hello world! qui est BAD ...

Pour résoudre cela, je copié l'extrait suivant de la bibliothèque de jade visionmedia et je me demandais si cela est suffisant?

/**
 * Escape the given string of `html`.
 *
 * @param {String} html
 * @return {String}
 * @api private
 */

function sanitize(html){
    return String(html)
        .replace(/&(?!\w+;)/g, '&amp;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')
        .replace(/"/g, '&quot;');
}

Est-ce assez ou que je manque quelque chose? Peut-être même à l'intérieur socket.js pour résoudre le problème?

Était-ce utile?

La solution

Il y a une bibliothèque qui fournit des méthodes de désinfection pour XSS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top