¿Por qué el CSP no impide que JS modifique el estilo de un elemento?

0

Puede usar la Política de seguridad de contenido para no permitir los atributos de estilo, pero solo puede solucionar esto simplemente usando javascript para modificar el estilo de un elemento. ¿No es esto un agujero de seguridad o me falta algo?

    
pregunta Transcendence 17.01.2018 - 02:41
fuente

3 respuestas

2

Puede usar CSP para bloquear fuentes específicas de hojas de estilo, pero no para rechazar atributos de estilo particulares. Por ejemplo, puede no permitir estilos en línea, o no permitir estilos remotos, o ambos. (Si establece style-src: none , supongo que será como HTML 3.)

Si un atacante está ejecutando JavaScript en su sitio, entonces tiene problemas mucho más grandes que su capacidad para modificar los estilos de su sitio. Pueden ocultar elementos completos (eliminándolos del DOM), filtrar datos privados y realizar acciones como usuario registrado.

CSP es un mecanismo de defensa en profundidad y no pretende ser el límite o control de confianza principal de ningún sistema. Cuando estoy probando aplicaciones web, informo todos los intentos de ejecución de scripts (incluso cuando están bloqueados por CSP) como un XSS, aunque sí tengo en cuenta los que están mitigados por CSP. (Tenga en cuenta la frecuencia con la que se encuentran los desvíos de CSP).

    
respondido por el David 17.01.2018 - 03:26
fuente
1

Si un atacante puede ejecutar javascript en la página, entonces ya no pudo evitar que el atacante obtuviera la ejecución del código. CSP es principalmente para evitar que lleguen tan lejos.

    
respondido por el Macil 17.01.2018 - 02:46
fuente
0

La directiva CSP mencionada puede detener algunos ataques de clics / enlaces falsos en los casos en que JavaScript esté deshabilitado por el navegador. Hay otras directivas que tratan los vectores de script ellos mismos.

    
respondido por el dandavis 17.01.2018 - 07:26
fuente

Lea otras preguntas en las etiquetas