¿La adición de una comilla doble al final de una consulta de entrada es un método válido de prevención XSS?

2

Me preguntaba si agregar una comilla doble al final de una consulta se considera un filtro XSS válido. Digamos que tenemos una función de búsqueda y entré:

"><script>alert('hi')</script>

Si observo el origen de la consulta resultante, veré lo siguiente:

<input name="search" type="text" value=""><script>alert('hi')</script>">

La comilla doble se agregará automáticamente al final de mi consulta.

Suponiendo que el filtro también borre el carácter nulo y los comentarios HTML <!-- , ¿sería este un filtro XSS efectivo o es solo una ilusión?

    
pregunta Alistair 23.03.2013 - 19:21
fuente

1 respuesta

2

No se me ocurre ninguna condición en la que esto pueda mitigar el XSS. Si un atacante suministra <script>alert(1)</script> , el resultado será: <script>alert(1)</script>" que todavía se ejecutará.

Además, un atacante puede comentar la doble cita en javascript: alert(1)//"

No necesita un comentario html para crear un html válido:

<input name="search" type="text" value=""><script>alert('hi')</script><input name="inject">

Deberías leer la hoja de trucos de prevención de XSS , XSS es extremadamente común y deberías ' t idear soluciones caseras a problemas bien conocidos.

    
respondido por el rook 23.03.2013 - 19:26
fuente

Lea otras preguntas en las etiquetas