Estoy probando una aplicación web donde la entrada del usuario se inserta sin codificación en la respuesta, pero el tipo de contenido de la respuesta es text/javascript;charset=UTF-8
.
La entrada de dos parámetros de la aplicación de usuario devuelve dentro del JavaScript de esta manera:
throw 'allowScriptTagRemoting is false.';
//#DWR-INSERT
//#DWR-REPLY
var s0={};
dwr.engine._remoteHandleCallback('1','0',{application:"param1",changedParts:null,module:"param2",nextModule:null,reload:true,showDialog:false,strokeActions:s0,viewMember:""});
Pero cuando trato de terminar el remoteHandleCallback
insertando "
y }
, estos caracteres se escapan con barra invertida y se tratan como parte de la cadena, por ejemplo:
application:"\"param1"
¿Es esta una defensa adecuada contra XSS y otras vulnerabilidades?