Sabemos que los navegadores no permiten el contenido mixto activo en las páginas servidas mediante HTTPS. Esto se debe a que JavaScript puede ser modificado por un MitM activo que podría comprometer la seguridad de la página. Muchos navegadores también bloquearán la carga de imágenes / otro contenido pasivo desde una fuente insegura por un número de razones .
¿Por qué, entonces, es posible que un sitio servido a través de HTTPS redirija a una URL HTTP con un encabezado Content-Disposition: attachment
o Content-Type: binary/octet-stream
que obliga a una descarga?
Por ejemplo, esta página de descarga se publica inicialmente HTTPS, pero redirige al usuario a una URL de descarga insegura. Chrome simplemente descarga el archivo a ciegas y no presenta información sobre su origen. Firefox sí muestra el origen en su cuadro de diálogo de descarga, pero aún así permite que la descarga continúe y no advierte al usuario en absoluto:
Dado que un usuario que descarga y ejecuta un código arbitrario como este (que cree que proviene de un sitio seguro) puede causar mucho más daño que algunos JavaScript inyectados, ¿por qué los navegadores permiten este comportamiento? ¿Por qué no se obliga a estas descargas a ser servidas de manera segura como los scripts incluidos?