Domanda

Credo socket.io ha una vulnerabilità XSS e mi chiedo come risolvere questo.

Vedere il mio post su PubSub redis con socket.io che ha un / foro XSS.

da Redis-cli quando fate:

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

Si vedrà una finestra di avviso con Hello world! che è BAD ...

Per risolvere questo ho copiato il seguente frammento dalla libreria di giada di visionmedia e si chiede se questo è sufficiente?

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

E 'questo abbastanza o mi sto perdendo qualcosa? Forse anche socket.js all'interno per risolvere il problema?

È stato utile?

Soluzione

C'è un href="https://github.com/chriso/node-validator" rel="noreferrer"> nodo-validatore biblioteca che fornisce i metodi di sanificazione per XSS.

scroll top