Política de seguridad del contenido: Obtención de informes extraños con 'self' de antepasados de marcos

5

En este momento, mantengo la Política de seguridad de contenido para enlace , que es:

Content-Security-Policy: frame-ancestors 'self'; block-all-mixed-content; report-uri https://lidlcsp.report-uri.io/r/default/csp/enforce;

La parte con antepasados de fotogramas es proteger contra el clickjacking.

Al revisar los informes de violación enviados a report-uri.io, el número uno es el siguiente,

{
    "csp-report": {
        "blocked-uri": "",
        "document-uri": "https://www.lidl.de/",
        "original-policy": "frame-ancestors https://www.lidl.de; block-all-mixed-content; report-uri https://lidlcsp.report-uri.io/r/default/csp/enforce",
        "violated-directive": "frame-ancestors https://www.lidl.de"
    }
}

que se envía desde Firefox (como muestra report-uri.io). Estoy confundido sobre dos cosas aquí:

  1. ¿Por qué se envía este informe? No puedo reproducirlo.
  2. ¿Por qué se modifica la "política original" ('self' vs. enlace )? ¿Esto hace alguna diferencia?
  3. ( EDIT ) ¿Por qué https://www.lidl.de/ está bloqueado en el siguiente informe? El csp permite explícitamente los iframes en el mismo sitio a través de 'self' .

EDITAR: Para aclarar un poco la tercera pregunta, agrego otro csp-report :

{
    "csp-report": {
        "document-uri": "https://www.lidl.de/",
        "effective-directive": "frame-ancestors",
        "original-policy": "frame-ancestors 'self'; block-all-mixed-content; report-uri https://lidlcsp.report-uri.io/r/default/csp/enforce;",
        "blocked-uri": "https://www.lidl.de/"
    }
}

Si puede reproducir la infracción de CSP o puede desencadenar otras infracciones, me encantaría conocerlas.

    
pregunta HorstKevin 30.10.2017 - 16:01
fuente

1 respuesta

3
  

¿Por qué se modifica la "política original" ('self' vs. enlace )? ¿Esto hace alguna diferencia?

'self' en el CSP en realidad significa "mismo dominio". Es solo un marcador de posición, por lo que los exploradores lo evalúan para, en su caso, https://www.lidl.de . Eso es exactamente lo que dice que debe hacer la directiva, simplemente está escrito de otra manera. Así que no, no hace una diferencia .

  

¿Por qué se envía este informe? No puedo reproducirlo.

Estoy casi seguro de que en el 90% de estos casos la respuesta es: complementos del navegador. Si realmente no puede reproducirlo con un perfil limpio y el mismo navegador / mismo sitio, es muy probable que solo sea una extensión del navegador que inyecte, respectivamente, tratando de inyectar algunas cosas. Esa es una fuente / activador muy común para los informes CSP.

Sin embargo, como se trata de la directiva frame-ancestors en su caso, puede reproducirla fácilmente. . Simplemente cree un iframe intentando incrustar su sitio:

<iframe height="500" width="500" src="https://www.lidl.de"></iframe>

EsodeberíafallarydesencadenarelinformedeCSP.Porquedeesosetrataelclickjacking:susitioseincrustaenotrositio,detalmaneraqueelusuarionoloveyhaceclicenlascosas,elusuarionoqueríahacerclicen.

SéqueReport-URItienealgunosfiltrosparaevitardichosinformescausadosporloscomplementosdelnavegador,peroaúnnopuedendetectarlostodos.

BTW:

  

Laparteconantepasadosdefotogramasesprotegercontraelclickjacking.

Lohace,peroenrealidadpuedes(mejor,o,mejoraún:adicionalmente)usarelencabezadoX-Frame-Optionsparaesepropósito.Esteencabezadofue diseñado para eso , y también funciona con navegadores, que no son compatibles con CSP (es más antiguo , En todo caso). Consulte los escaneo de encabezados de seguridad del mismo autor que Report-URI para obtener más detalles. Mientras lo hace, también puede echar un vistazo a los otros encabezados de seguridad.

    
respondido por el rugk 06.11.2017 - 23:22
fuente

Lea otras preguntas en las etiquetas