Ger*_*rre 5 javascript xss internet-explorer-8
我们有一个内部Web应用程序,充当用户可以上载文件的存储库.这些文件可以是任何格式,包括HTML页面.
我们在IE8中进行了测试,如果您下载的HTML文件包含一些尝试访问您的cookie的脚本,并且在下载后,您选择"打开"选项,脚本会执行并获取您的cookie信息,而不会出现任何问题.
实际上,该脚本可以使用XmlHttpRequest对象来调用服务器,并在下载文件的用户的会话中执行一些恶意操作.
有什么方法可以避免这种情况吗?我们已经测试过Chrome和Firefox都不会让这种情况发生.如何在包括IE8在内的任何浏览器中避免这种行为?
不允许上传arbritary内容.这完全是个糟糕的主意.
一个潜在的"解决方案"可能是仅在没有任何cookie的域上托管不受信任的上载,并且用户不以任何方式关联任何信任.这将是一个"解决方案",但肯定不是理想的解决方案.
一些更实用的选项可能是基于授权的过程,其中每个文件都经过自动审核,然后手动确认自动清洁/分析阶段.
总而言之,允许公众这样做是一个非常糟糕的主意.
从安全的角度来看,这是一个非常糟糕的主意。尽管如此,如果您希望这样做,请包含 HTTP 响应头Content-disposition: attachment这将强制浏览器下载文件而不是打开它。在 Apache 中,它是通过添加Header set Content-disposition "attachment"到 .htaccess 文件来完成的。
请注意,仅Content-type: text/plain按照其中一个答案中所述进行添加是一个坏主意,因为它不适用于 Internet Explorer。当 IE 收到带有 text/plain 内容类型标头的文件时,它会打开其 MIME 嗅探器,该嗅探器尝试定义文件的真实内容类型(因为某些服务器发送所有带有 text/plain 的文件)。如果它遇到文件中的 HTML 代码,它将强制浏览器将文件作为 text/html 提供并呈现。
| 归档时间: |
|
| 查看次数: |
1682 次 |
| 最近记录: |