Quale vulnerabilità espone javascript in linea e gestori di eventi? [duplicare]

0

Sto cercando di capire perché alcuni CSP bloccano il javascript in linea. La preoccupazione è che un utente sia in grado di inserire javascript che verrà poi offerto ad altri utenti? Se è così, non è questo un problema con il fatto che un utente in qualche modo ha la capacità di servire ciò che vogliono agli utenti dal tuo sito? Come si presenta questo problema CSP?

    
posta Daniel B 08.10.2017 - 07:45
fonte

2 risposte

0

Is the concern that a user will be able to insert javascript that will then be served to other users?

Sì, e che JS può fare tutto ciò che vuole, proprio come un tag di script completo, con alcune piccole restrizioni di sintassi non convenienti.

If so, isn't this an issue with the fact that a user somehow has the ability to serve whatever they want to users from your site?

Sì, non vuoi che succeda, CSP o no. Vuoi trasmettere l'intento dell'utente, non ripubblicare l'input dell'utente. CSP non è la prima linea di difesa, è un backup per mitigare i danni causati da errori come la disinfezione, i template engine troppo intelligenti e semplici bug.

How is this a CSP problem?

È contenuto e si riferisce alla sicurezza, quindi la politica di sicurezza dei contenuti è un buon posto per risolvere il problema, giusto?

    
risposta data 08.10.2017 - 07:52
fonte
1

If so, isn't this an issue with the fact that a user somehow has the ability to serve whatever they want to users from your site?

In realtà è molto comune che gli utenti abbiano la possibilità di pubblicare i propri contenuti. Dai un'occhiata a tutti i social network e ai siti di blog pubblici in cui gli utenti possono fornire i propri contenuti all'interno di un sito che non possiedono.

How is this a CSP problem?

Di solito il contenuto aggiunto dagli utenti viene disinfettato, cioè lo script e altre cose vengono rimossi. Ma questo disinfettante potrebbe avere dei bug. CSP offre una linea di difesa aggiuntiva: se CSP non consente lo script inline, non verrà eseguito alcuno script inline, anche se alcuni script inline potrebbero aver ignorato la disinfezione.

    
risposta data 08.10.2017 - 07:54
fonte

Leggi altre domande sui tag