允许用户上传指向画布动画的Javascript文件应该实现哪些安全限制?

时间:2011-04-23 20:10:18

标签: javascript security animation canvas uploading

我想创建一个网站,用户可以上传自己的画布动画供其他人查看。与此相关的安全风险含义是什么?有没有一种简单的方法来确保我得到的只是画布功能而不是恶意代码片段?思考?谢谢。

编辑:如果我将每个动画放在一个单独的子域中怎么办?有没有办法在用户上传时自动创建子域名?

2 个答案:

答案 0 :(得分:0)

Javascript是一种非常灵活的语言,除非您对其进行非常深入的分析,否则几乎无法确定实际代码的执行情况。如果您允许上传Javascript,您可以获得任何内容,并且您尝试使用的大部分保护将无效。

在您的情况下,您可以做的是允许人们以某种​​自定义语言上传动画序列,并在上传后使用Javascript进行转换。这样你就可以更好地控制执行的内容。

答案 1 :(得分:0)

就特定风险而言,显而易见的是创建持久性XSS威胁的简单能力。这可以轻松地从读取用户cookie(包括用于识别其经过身份验证的会话的cookie)到重写页面或修改CSS。

它还为CSRF打开了一扇非常容易的门,这可能允许脚本代表受害者发布任意命令。此外还存在点击劫持和禁忌等风险 - 可能的漏洞非常广泛!

有一些方法可以缓解这些威胁,但是您允许人们上传任意脚本的事实是大量的风险。