SRI para CSP: ¿cómo obtengo el hash para el código en línea?

1

He estado jugando con el diseño del sitio web durante años, pero no soy un experto, más bien un adicto al hardware.

CSP es fascinante para mí ahora que estoy empezando a expandirme al desarrollo web. Realmente estaba luchando con hashes para mis scripts porque usé un generador en línea SHA-384 & Chrome no los reconocería. Finalmente, me arreglé para indicar que Chrome realmente me proporcionaba hashes de 256 bits, y podía incluirlos en mi archivo .htaccess. Era solo una cuestión de iterar sobre las páginas de mi sitio, capturar los hashes e incluirlos en mi lista de scripts aprobados y amp; estilos

Como dije, no soy un maestro de codificación, por lo que he encontrado un problema en el que Chrome no me da el hash real para un script, truncándolo a sha256 ..., y no tengo idea de qué script está ejecutando (Wordpress). Antes de que me griten, he construido sitios sin usar un CMS, pero esta es la plataforma en la que estoy trabajando en este momento.

¿Cómo puedo encontrar el código para la secuencia de comandos inyectada para poder hacer un hash & incluirlo? A partir de los documentos de Mozilla, descubrí que un hash debería incluir todos los espacios en blanco, excluyendo la etiqueta "script". Lo intenté & no conseguí nada con mi código FB Pixel, así que borré eso, ¿quizás tengas una respuesta para mí en ese caso?

En cuanto a la secuencia de comandos inyectada en línea: tengo que averiguar cómo identificar qué se está inyectando y cómo hacer un hash para mi CSP.

    
pregunta Flatspin 19.04.2018 - 21:20
fuente

1 respuesta

1

Para un CMS, como wordpress, recomiendo encarecidamente usar un nonce en lugar de hashes. Incluso hay un complemento para eso .

Incluir demasiados hashes tiene un costo de rendimiento, ya que el navegador tiene que hash todos los scripts para compararlos. También no es factible utilizarlo en archivos que cambian, por ejemplo debido a actualizaciones.

Si aún desea usarlo, mi único consejo puede ser buscar una forma de que el error "no esté resuelto". Puedes intentar acortar el encabezado para que haya más espacio en la consola o para buscar en los archivos de registro de Chrome, si están allí.

    
respondido por el Peter Harmann 19.04.2018 - 21:28
fuente

Lea otras preguntas en las etiquetas