Codificación de caracteres especiales en respuesta que es text / javascript [duplicado]

0

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?

    
pregunta user187205 31.10.2017 - 12:19
fuente

1 respuesta

0

Dado que el tipo de respuesta es texto / javascript, este es probablemente un archivo js que se está cargando y utilizando. La carga de este archivo directamente en el navegador probablemente no activará un XSS incluso si pudiera inyectar la carga útil debido a que el tipo de contenido no es texto / html. Consulte la siguiente para obtener más información información Si se incluye el encabezado de respuesta contenido-tipo-opciones: nosniff, el riesgo se reduce aún más.

Dado que tanto "como} están codificados correctamente, será difícil de explotar. Podría intentar diferentes codificaciones para omitir la codificación de seguridad.

En definitiva, parece una defensa adecuada contra XSS.

    
respondido por el Silver 31.10.2017 - 16:42
fuente

Lea otras preguntas en las etiquetas