Pregunta

Creo socket.io tiene una vulnerabilidad XSS y me pregunto cómo resolver esto.

Ver mi post sobre pubsub redis con socket.io que tiene un / el agujero XSS.

de Redis-cli cuando haces:

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

Usted verá un cuadro de diálogo de alerta con Hello world! que es BAD ...

Para resolver este me copió el siguiente fragmento de la biblioteca de jade de Visionmedia y preguntarse si esto es suficiente?

/**
 * 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;');
}

Es esto suficiente o me estoy perdiendo algo? Tal vez incluso dentro socket.js para resolver el problema?

¿Fue útil?

Solución

Hay una href="https://github.com/chriso/node-validator" rel="noreferrer"> biblioteca nodo-validador

scroll top