我们有一个内部Web应用程序,充当用户可以上载文件的存储库.这些文件可以是任何格式,包括HTML页面.
我们在IE8中进行了测试,如果您下载的HTML文件包含一些尝试访问您的cookie的脚本,并且在下载后,您选择"打开"选项,脚本会执行并获取您的cookie信息,而不会出现任何问题.
实际上,该脚本可以使用XmlHttpRequest对象来调用服务器,并在下载文件的用户的会话中执行一些恶意操作.
有什么方法可以避免这种情况吗?我们已经测试过Chrome和Firefox都不会让这种情况发生.如何在包括IE8在内的任何浏览器中避免这种行为?
不允许上传arbritary内容.这完全是个糟糕的主意.
一个潜在的"解决方案"可能是仅在没有任何cookie的域上托管不受信任的上载,并且用户不以任何方式关联任何信任.这将是一个"解决方案",但肯定不是理想的解决方案.
一些更实用的选项可能是基于授权的过程,其中每个文件都经过自动审核,然后手动确认自动清洁/分析阶段.
总而言之,允许公众这样做是一个非常糟糕的主意.