Estoy buscando una forma de evadir adecuadamente una variable de JavaScript para realizar XSS. Una entrada de usuario normal dará var a='<b>user input</b>' .
a no es eval en ninguna parte y no se puede utilizar. Sin embargo, he encontrado algo interesante. Una entrada como %0a%0dalert(1);// se procesará como:
var a='<b>
alert(1);//</b>'
Mi navegador me está advirtiendo sobre un error de token ilegal. Esto es normal, y debido a que var a no se cierra.
¿Hay alguna manera de hacer que esto funcione? Ejecutando la función de alerta ignorando el error anterior. ' se escapa como \' y \ como \ .
Otros elementos básicos Los caracteres HTML también se codifican de manera normal ( " < > & )