Ho creato una semplice applicazione web di test per testare l'utilizzo dell'intestazione del criterio di sicurezza del contenuto. Ho incluso una vulnerabilità nella mia app di test, in modo tale che l'invio di un payload XSS di base con tag di script si rispecchierebbe completamente ed eseguiva un avviso javascript ... cose semplici. Ho incluso un header CSP di base:
Content-Security-Policy: default-src 'self'
Ho pensato che questo avrebbe fermato l'XSS, a causa di "CSP risolve questo problema vietando completamente lo script inline" link
Ma l'avviso js sta ancora scoppiando. Sono stato in grado di verificare che l'intestazione venga restituita nella risposta del server come previsto. Ho provato con diversi browser aggiornati (chrome, firefox, ie11). Ho applicato l'intestazione in iis come segue:
# IIS Web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="default-src 'self';" />
</customHeaders>
</httpProtocol>
</system.webServer>
La mia implementazione è errata o le mie aspettative sono sbagliate qui?