让用户上传和运行Javascript的风险是什么?

4
如果您拥有一个HTML5游戏街机,允许用户上传运行HTML5和Javascript游戏的脚本,假设您没有对其输入进行过滤(除了只允许JS和HTML),那么可能存在哪些潜在的安全风险和陷阱?
一个不太可能的可能性是,如果这些游戏很受欢迎,它们可能会在内部包含一个休眠的ddos脚本,如果这些游戏足够受欢迎,则可以发动ddos攻击。
窃取cookie是另一个可能性,但如果有人有一个全面的列表或任何其他想法,那么听到它们会很有趣。

哪些用户将运行这些脚本?只有上传者还是任何人都可以?如果是任何人,他们可能会监听关键输入并窃取密码。 - BiAiB
我提出的例子是将游戏上传到在线街机上,任何公众人士都可以尝试。该游戏可能是动态网站的一部分,并且可能包含潜在的敏感信息。 - Tom Gullen
4个回答

3
允许上传和运行JavaScript会为攻击者打开很多选项。
请参见跨站脚本攻击(维基百科)和OWASP
总的来说,如果您允许此操作,则攻击者可以发布任何代码,重定向用户,利用其浏览器,安装病毒等。

2

仅代表我的个人观点...

一种风险是当有人上传一个脚本将用户重定向到恶意网站,而该网站正在进行不良行为 - 用户肯定不会通过街机游戏意图访问该网站。


2

编写一个能够赢得比赛的机器人。
然后游戏很快就会转移到编写更好的机器人来打败其他机器人 ;)

如果您将这些脚本加载到具有不同域、子域、端口或协议的iframe中,则同源策略将阻止这些脚本读取主页面的内容。

您可以通过现代浏览器使用window.postMessage或者对于旧版浏览器,使用window.namehack,在这些iframe和您的主页面之间设置字符串通信。

为了防止Cookie被窃取,您可以在主页面上设置一个秘密密钥,并将其发送回服务器以进行每个请求。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接