Scripts firmados digitalmente como una forma de frustrar XSS

1

Como una estrategia general para lidiar con los ataques XSS, en lugar de tener que recordar escapar del código generado por el usuario, hay una manera de indicar al navegador que no ejecute ningún script o función de script que no esté firmado con un determinado clave pública (incrustada en la parte superior de cada página, pero no necesariamente autenticada. ¿Esto solo es para tratar con XSS, no con el medio en el medio)? Entonces, simplemente puede firmar todos los scripts "reales"

    
pregunta dspyz 09.03.2014 - 21:06
fuente

1 respuesta

2

Esto sería un verdadero éxito para el rendimiento. Imagina que tienes un montón de funciones incrustadas dentro de tu página HTML. Cada uno tendría que ser firmado por separado. Además, el código del lado del servidor debe poder acceder a su almacén de claves para firmar el código, ya que a menudo las páginas se generan dinámicamente. Esto significaría una sobrecarga sustancial a tratar.

También tenga en cuenta que la ejecución de JavaScript del usuario, que contiene JavaScript, será difícil de manejar.

Por ejemplo, supongamos que tiene XSS en un parámetro de usuario que está incrustado nuevamente en la página mediante una función de JavaScript, su servidor realmente lo firmará antes de enviarlo, ya que no sabrá que esa parte del código no es legítima. .. y luego volvemos al problema anterior de la validación de entrada / salida.

De todos modos, la mayoría de esto se puede solucionar con CSP de todos modos.

    
respondido por el Lucas Kauffman 09.03.2014 - 21:10
fuente

Lea otras preguntas en las etiquetas