允许用户上传HTML/JS文件的风险

Tom*_*len 9 javascript security iframe whitelist

我们正在为HTML5游戏设计一个在线aracade.用户可以上传包含其游戏的zip文件.

在上传时,服务器解压缩zip并且每个文件都循环检查它的扩展名是否符合白名单,允许:

  • html的
  • .js文件
  • 巴纽
  • .JPG
  • .appcache
  • .M4A
  • .OGG

(游戏必须在导出这些文件的游戏编辑器中进行).这可以防止人们上传拉链,服务器端脚本文件等.

然后将游戏移动到我们的静态无cookie域(scirra.net).当我们的scirra.com页面上播放游戏时,游戏将显示在指向scirra.net域的iframe中.这应该可以防止恶意JS访问scirra.com cookie.

这种iframe技术和白名单是否足够全面以防止任何恶意行为?请注意,我们无法真正筛选每个JS文件,因此我们应该假设人们会尝试上传恶意JS.

roo*_*ook 4

iframe 的原始继承规则将防止 scirra.net iframe 干扰 scirra.com。

然而,这并不能阻止所有攻击。实际上,您引入了存储型 XSS 漏洞。XSS 可用于引入基于浏览器的攻击,例如利用 ActiveX 组件中的缓冲区溢出。利用 Flash、Adobe reader 或 Microsoft Office 中的漏洞。

您应该考虑对 scirra.net 内容运行防病毒软件。尽管这并不能阻止所有攻击。iram 页面可能会重定向或引入另一个包含恶意内容的 iframe。

正如 Cheeksoft 指出的那样。应用程序将能够通过 XSS 相互影响。恶意应用程序可以访问另一个应用程序的离线存储或获取另一个应用程序中嵌入的其他数据。强制每个应用程序都有其子域将缓解此问题。您可以设置 DNS 记录以将 *.scirra.net 指向您的服务器并在您的 Web 应用程序中管理域名。