作者taicomjp (Kurosagi.)
看板Ajax
标题[情报] Internet Explorer更改MIME处理方式以提高安全性
时间Wed Oct 27 20:34:55 2010
来自Web伺服器的每一个文件都有对应的MIME类型(也称为content-type),描述文件内
容的属性,比如图片、文件、应用程式等。最近,IE开发经理Eric Lawrence在IE官方部
落格中就MIME处理方式的变化和安全性做了详细解释。
http://blogs.msdn.com/b/ie/archive/2010/10/26/
mime-handling-changes-in-internet-explorer.aspx
缩
http://bit.ly/aAJ9sv
以前,某些HTML元素(特别是Link和Script)不会验证Web服务器提供的MIME类型。例如
,即使Script的src属性指向一个声明为text/plain类型的文件,浏览器也会运行Script
脚本。Eric强调这种方式存在安全隐患:
这会导致一些安全漏洞,特别是Link元素。
比如这样一种攻击,恶意网站包含一个指向另一网站HTML内容的Link引用。如果
HTML内容包含常见字符,那麽可能会被恶意网站的页面脚本访问。这种资讯泄露
会导致跨网站请求伪造和其他攻击(详见Carnegie-Mellon大学的一篇论文)。
http://websec.sv.cmu.edu/css/css.pdf
在最近发布的一个安全更新中,微软开发团队修改了IE6/7/8的CSS处理方式——阻止所有
跨源样式表(cross-origin stylesheet)除非它们声明了正确的HTTP相应头:
Content-Type: text/css,这种保护措施可以确保Link和@IMPORT不会成为窃取其他网站
内容的帮凶。
对於IE 9来说,除了修复以上问题,在MIME处理方面还包括了三个重要的安全性变化:
1. 在IE 9标准模式下,同源样式表也必须采用正确的text/css类型,否则会被忽略。
2. 如果伺服器端指定X-Content-Type-Options: nosniff,那麽Script元素将拒绝错误
的MIME类型回应,在这种情况下正确的MIME类型是
["text/javascript"、"application/javascript"、"text/ecmascript"、
"application/ecmascript"、"text/x-javascript"、"application/x-javascript"、
"text/jscript"、"text/vbscript"、"text/vbs"]。
3. 采用text/plain类型传输的文件,IE不会主动将其判定成另一类型。
http://www.infoq.com/cn/news/2010/10/ie-mime
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.194.176.157