Los scripts de marcos cruzados no son un término que haya visto antes. Por lo que he leído, parece que es un subconjunto de XSS (secuencias de comandos en sitios cruzados) que utilizan marcos inyectados. Bloquear las secuencias de comandos entre sitios debe ser la máxima prioridad. Los comportamientos críticos para protegerse contra XSS son la codificación de salida (cualquier cosa que pueda ser controlada por el usuario se escapa o se codifica por entidad antes de que se haga eco en la respuesta, por ejemplo, un signo <
en un contexto HTML debe convertirse en <
) y validación de entrada (no permita que los usuarios pongan ningún tipo de valores que no coincidan con el formato y los caracteres esperados para cada campo).
Si desea una protección basada en encabezado contra XSS, la solución es Política de seguridad de contenido , que restringe las fuentes de todos tipos de contenido potencialmente malicioso (generalmente centrado en scripts y hojas de estilo, pero también admite la restricción de marcos). Utilizado correctamente, CSP es una protección extremadamente fuerte, pero los usuarios que ejecutan navegadores antiguos (incluidas todas las versiones de IE) no estarán protegidos por ella (aunque Microsoft Edge lo admite, o pronto lo olvidará). Tenga en cuenta que el uso correcto de CSP puede requerir cierta refactorización de su sitio, para mover todos los scripts, etc. a sus propios archivos en lugar de permitir scripts en línea.
Para la protección contra la protección de su sitio por parte de un atacante, el encabezado X-Frame-Options
es su solución de acceso, que protege todo excepto los navegadores extremadamente antiguos (como IE6). En general, use DENY
en lugar de SAMEORIGIN
a menos que tenga alguna razón específica para usar SAMEORIGIN
; Realmente no es un límite de seguridad adicional per se, pero puede hacer que ciertos tipos de ataques sean más difíciles.