Pensé que el carácter \
(barra diagonal inversa) era un carácter peligroso que necesitabas filtrar / codificar adecuadamente para proteger contra ataques XSS (OWASP también lo dice), y todavía lo hago, pero ¿por qué?
Encontré un sitio web que almacena la consulta de búsqueda cuando buscas el sitio web en una variable de JavaScript, como esta:
var_name = "query"
Se filtran las comillas dobles, comillas simples y punto y coma, pero puedo usar cosas como \n
y \r
(aunque \r
parece representar solo espacios en blanco ...)
pero por alguna razón, ahora puedo obtener el alert()
llamado correctamente.
He jugado un poco con \n
, como poner unos pocos antes y después de alert()
, y también escapar de la comilla de cierre:
var_name = "\n\nalert()\n\n\"
Pero nada parece funcionar. Creo que me estoy perdiendo algo obvio aquí, pero si alguien pudiera ayudarme aquí y aclarar esto, ¡se lo agradecería!