En la Web enredada, Michal Zalewski dice:
Abstenerse de usar Content-Type: application / octet-stream y use application / binary en su lugar, especialmente para tipos de documentos desconocidos. Abstenerse de devolver Content-Type: text / plain.
Por ejemplo, cualquier plataforma de alojamiento de código debe actuar con precaución al devolver archivos ejecutables o archivos de origen como application / octet-stream, ya que existe el riesgo de que puedan ser malinterpretados como HTML y se muestren en línea.
La lógica de texto / sin formato implementada posteriormente en Internet Explorer y Safari para detectar HTML en este caso es realmente una mala noticia: le roba a los desarrolladores web la capacidad de usar este tipo MIME de forma segura para generar documentos de texto sin formato específicos del usuario y No ofrece alternativas. Esto ha dado lugar a un número sustancial de vulnerabilidades de aplicaciones web, pero hasta el día de hoy, los desarrolladores de Internet Explorer no parecen lamentarse y no han cambiado el comportamiento predeterminado de su código.
El sitio usa X-Content-Type-Options:nosniff
. El autor dice lo siguiente sobre este encabezado:
El uso de este encabezado [X-Content-Type-Options] es altamente recomendado; desafortunadamente, el soporte para él [...] solo tiene un soporte limitado en otros navegadores. En otras palabras, no se puede depender como una única defensa contra el rastreo de contenido.
¿Qué contenido de ataques de rastreo X-Content-Type-Options:nosniff
no impide? ¿Qué Content-Type
debe devolverse al usuario en lugar de text/plain
?