Perché CSP non impedisce a JS di modificare lo stile di un elemento?

0

Puoi usare la politica di sicurezza dei contenuti per disabilitare gli attributi di stile, ma puoi semplicemente aggirare questo usando javascript per modificare lo stile di un elemento. Non è un buco di sicurezza o mi manca qualcosa?

    
posta Transcendence 17.01.2018 - 02:41
fonte

3 risposte

2

Puoi usare CSP per bloccare sorgenti specifiche di fogli di stile, ma non per disabilitare particolari attributi di stile. Ad esempio, è possibile non consentire stili in linea o non consentire stili remoti o entrambi. (Se imposti style-src: none , suppongo che sarà come HTML 3.)

Se un utente malintenzionato sta eseguendo JavaScript sul tuo sito, allora hai molti, molti, problemi più grandi della loro capacità di modificare gli stili sul tuo sito. Possono nascondere interi elementi (eliminandoli dal DOM), estrarre dati privati e intraprendere azioni come utente loggato.

CSP è un meccanismo di difesa approfondita e non è inteso come il limite di fiducia primario o il controllo per qualsiasi sistema. Quando sto testando le applicazioni web, riporto tutti i tentativi di esecuzione di script (anche se bloccati da CSP) come XSS, anche se prendo nota di quelli che sono mitigati da CSP. (Notare la frequenza con cui vengono trovati i bypass CSP.)

    
risposta data 17.01.2018 - 03:26
fonte
1

Se un utente malintenzionato può eseguire javascript sulla pagina, significa che non è stato possibile impedire l'esecuzione di codice da parte dell'aggressore. CSP è principalmente per impedire loro di arrivare così lontano.

    
risposta data 17.01.2018 - 02:46
fonte
0

La direttiva CSP citata può interrompere alcuni spoofing di clickjacking / link nei casi in cui JavaScript è disabilitato dal browser. Esistono altre direttive che indirizzano loro stessi i vettori di script.

    
risposta data 17.01.2018 - 07:26
fonte

Leggi altre domande sui tag