文件上传期间Firefox中的mozFullPath是否存在安全风险?

时间:2014-09-10 12:36:08

标签: javascript html5 security firefox file-upload

我正在开发一个小型照片应用程序,用户选择一个本地文件,然后将其推送到带有window.URL.createObjectURL(file)的画布 - 非常基本的东西。在测试期间,我简要地将File数组的内容转储到控制台 - 只是为了确保我得到了我想要的东西。

我在Debian 7上使用Firefox 31.0(不是Iceweasel)和Chrome 34.0.1847.116(不是Chromium)

我这样调用数组:

               var file = evnt.target.files[0];
               if (file) {
                     console.log('file');
                     // other stuff
               }

console.log在Google Chrome浏览器中显示如下:

File {
  name: "image.png"
  size: 55464
  type: "image/png"
  webkitRelativePath: ""
}

在Mozilla Firefox浏览器中就像这样:

File { 
  size: 55464, 
  type: "image/png",  
  name: "image.png", 
  path: "",
  lastModifiedDate: Date 2014-09-09T13:30:30.000Z,  
  mozFullPath: "/home/server/Desktop/image.png" 
}

我可以要求:

console.log(evnt.target.files[0]['type')

并正确接收"image/png"作为回复,但是当我请求时:

console.log(evnt.target.files[0]['mozFullPath']);

我刚收到回复:""

为什么这些信息会通过evnt.target.files[0]数组泄漏,但是当我直接调用它时它是不可见的?

我的文件系统结构的信息是仅显示在我的特权控制台上,还是可以通过我的浏览器中的中间人攻击泄露?

修改

在较旧的Firefox浏览器中,这可以提升权限:

netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");

但它不再存在了。无论如何,在公共Linux终端/其他人的计算机上使用Firefox时会出现问题,因为IT会泄漏文件系统信息,如目录结构和系统用户名。与其他攻击一起,这在我看来是一个危险的威胁......或者我只是反应过度了?

0 个答案:

没有答案