Sto testando un'applicazione web in cui l'input dell'utente viene inserito senza codifica nella risposta, ma il tipo di contenuto della risposta è text/javascript;charset=UTF-8
.
L'input da due parametri dell'applicazione utente ritorna all'interno del codice JavaScript come questo:
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:""});
Ma quando sto provando a terminare remoteHandleCallback
inserendo "
e }
, questi caratteri sono fuggiti con barra rovesciata e trattati come parte della stringa, ad esempio:
application:"\"param1"
Questa è una difesa adeguata contro XSS e altre vulnerabilità?