Content-Security-Policy: ottenere report strani con 'sé' dei frame-antenati

5

In questo momento, mantengo la Content-Security-Policy per link , che è:

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

La parte con gli antenati del frame è quella di proteggere dal clickjacking.

Quando si passano i rapporti di violazione inviati a report-uri.io, il numero uno è il seguente,

{
    "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"
    }
}

che viene inviato da Firefox (come mostra report-uri.io). Sono perplesso su due cose qui:

  1. Perché viene inviato questo rapporto? Non riesco a riprodurlo.
  2. Perché la "politica originale" è stata modificata ("self" vs. link )? Questo fa qualche differenza?
  3. ( EDIT ) Perché https://www.lidl.de/ è bloccato nel seguente rapporto? La csp consente esplicitamente iframe sullo stesso sito tramite 'self' .

Modifica Per rendere la terza domanda un po 'più chiara aggiungo un altro 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/"
    }
}

Se riesci a riprodurre la violazione CSP o attivare altre violazioni, saremo lieti di informarti.

    
posta HorstKevin 30.10.2017 - 16:01
fonte

1 risposta

3

Why is the "original policy" altered ('self' vs. https://www.lidl.de)? Does this make any difference?

'self' nel CSP in realtà sta per "stesso dominio". È solo un segnaposto, quindi questo viene valutato dai browser per, nel tuo caso, https://www.lidl.de . Questo è esattamente ciò che dici che la direttiva dovrebbe fare, è solo scritta in un altro modo. Quindi no, non fa la differenza .

Why is this report sent? I can't reproduce it.

Sono quasi sicuro che nel 90% di questi casi la risposta sia: componenti aggiuntivi del browser. Se davvero non riesci a riprodurlo con un profilo pulito e lo stesso browser / stesso sito, è molto probabile che solo un'estensione del browser inietta, rispettivamente, cercando di iniettare alcune cose. Questa è una sorgente / trigger molto comune per i rapporti CSP.

Tuttavia, poiché è la direttiva frame-ancestors nel tuo caso, potresti facilmente riuscire a riprodurla . Crea un iframe che cerchi di incorporare il tuo sito:

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

CiòdovrebbefallireeattivareilreportCSP.Perchéquestoèciòdicuiparlailclickjacking:iltuositovieneincorporatoinunaltrosito,inmodotalechel'utentenonlovedeefaclicsuglielementi,l'utentenonhavolutofareclicsu.

SocheReport-URIhaalcunifiltriperimpedirechetalirapportisianocausatidaicomponentiaggiuntividelbrowser,manonriesconoancoraacatturarlitutti.

Aproposito:

Thepartwithframe-ancestorsistoprotectagainstclickjacking.

Lofa,mapotrestieffettivamente(meglio,omeglioancora:inaggiunta)usarel'intestazioneX-Frame-Optionsperquelloscopo.Questaintestazioneera progettata per questo e funziona anche con i browser che non supportano CSP (è più vecchio , in ogni caso). Vedi le intestazioni di sicurezza scansionare dallo stesso autore di Report-URI per maggiori dettagli. Mentre ci sei, potresti anche dare un'occhiata alle altre intestazioni di sicurezza.

    
risposta data 06.11.2017 - 23:22
fonte

Leggi altre domande sui tag