¿Son estos cuatro encabezados HTTP protegidos contra los scripts de marcos cruzados?

3

Me gustaría hacer una pregunta sobre cuál es la mejor protección contra las secuencias de comandos de marcos cruzados.

He configurado mi servidor web para agregar estos indicadores a HTTP HEADER:

X-Same-Domain: 1
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block

¿Es suficiente? ¿O hay más protección que podría usarse?
Mi aplicación web se está ejecutando en IIS.

    
pregunta Jamie 15.09.2015 - 08:24
fuente

2 respuestas

2

Una respuesta: No.

Este es un buen comienzo, pero estos encabezados son indicadores de los filtros y motores Anti-XSS que incorporan los navegadores modernos. Estos son muy finos y frágiles de protección contra los scripts entre sitios (XSS). Un atacante los evitará fácilmente.

Para que su aplicación sea completamente blindada y protegida contra XSS, todavía recomendaría usar el filtro ValidateRequest de ASP.NET junto con un filtro personalizado de toda la aplicación que codifica caracteres especiales en todas las solicitudes.

La aplicación no debe aceptar ningún script, carácter especial o HTML en los campos cuando no sea necesario. Debe escapar de caracteres especiales que pueden resultar perjudiciales. Los caracteres pueden escaparse según la lista disponible en este enlace:

respondido por el feral_fenrir 15.09.2015 - 08:41
fuente
1

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 &lt; ) 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.

    
respondido por el CBHacking 15.09.2015 - 09:19
fuente

Lea otras preguntas en las etiquetas