Creé una aplicación web de prueba simple para probar el uso del encabezado de la política de seguridad de contenido. Incluí una vulnerabilidad en mi aplicación de prueba, de modo que el envío de una carga básica de XSS con etiquetas de script se reflejaría de nuevo en su totalidad y ejecutaría una alerta de javascript ... cosas simples. Incluí un encabezado CSP básico:
Content-Security-Policy: default-src 'self'
Supuse que esto detendría el XSS, debido a que "CSP resuelve este problema al prohibir completamente el script en línea" enlace
Pero, la alerta js sigue apareciendo. Pude verificar que el encabezado se devuelve en la respuesta del servidor como se esperaba. He probado con varios navegadores actualizados (chrome, firefox, ie11). He aplicado el encabezado en iis de la siguiente manera:
# IIS Web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="default-src 'self';" />
</customHeaders>
</httpProtocol>
</system.webServer>
¿Mi implementación es incorrecta o mis expectativas están equivocadas aquí?