Estrategias de CSP y métodos de derivación
A menudo se omite el CSP cuando se ejecuta XSS. Aquí hay un resumen.
Un encabezado de CSP consta de varios grupos de políticas de CSP, separadas por punto y coma, como este:
Cada conjunto de políticas contiene una directiva de política y una lista de fuentes de contenido
La directiva default-src define políticas de seguridad que no están especificadas por directivas más precisas. Estas directivas incluyen:
script-src define la fuente válida de Javascript en la página
style-src define la fuente válida de estilo CSS en la página
img- src define las fuentes válidas de imágenes e íconos en la página
font-src define las fuentes válidas de carga de fuentes
connect-src define las fuentes de conexión de las solicitudes, XMLHttpRequest, WebSocket y EventSource.
child-src especifica la fuente que define los trabajadores web y los contextos de navegación anidados (como y
Hay tres tipos de fuentes de contenido: lista de fuentes, palabras clave y datos
Una lista de fuentes es una cadena que especifica uno o más hosts de Internet (ya sea por nombre de host o dirección IP). y número de puerto o opcional. La dirección del sitio puede contener un prefijo comodín opcional (asterisco, '*') y el número de puerto también puede utilizar un carácter comodín (también '*') para indicar que todos los puertos legales son fuentes válidas. Los anfitriones están separados por espacios.
Las expresiones de host válidas incluyen:
(Coincide con todos los intentos utilizando cualquier subdominio).
mail.foo.com:443 (Coincide con todos los intentos mail.foo. com puerto 443)
(Coincide con todos los intentos usando este.)
Si no se especifica un número de puerto, el navegador utilizará el puerto predeterminado para el número de protocolo especificado. Si no se especifica el protocolo, el navegador utilizará el protocolo utilizado para acceder al documento.
Puede haber demasiadas situaciones para la configuración de CSP. Aquí solo analizamos algunas situaciones típicas.
En el caso de default-src 'none', puedes usar la metaetiqueta para saltar.
En el caso de permitir unsafe-inline, puedes usar window.location, o Se utilizan otros métodos para evitar el salto.
CSP no considera completamente la función de precarga de la etiqueta de enlace.
En Chrome, puede usar la siguiente etiqueta para enviar cookies (la última versión de Chrome lo prohibirá)
En Firefox, puede usar cookies como nombres de subdominio y usar dns pre -Resolución para enviar cookies. Sáquelo y verifique el registro del servidor DNS para obtener la cookie.
Algunos sitios web restringen el uso de ciertos scripts. A menudo usan el atributo nonce de la etiqueta