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, '&amp;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')
        .replace(/"/g, '&quot;');
}

Ist das genug oder bin ich etwas fehlt? Vielleicht sogar in socket.js das Problem zu lösen?

War es hilfreich?

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
scroll top