用户输入 Javascript 安全隐患

信息安全 javascript
2021-08-13 18:05:37

我正在创建一个网站,让人们可以使用子域创建自己的网站。让人们将自定义 javascript 添加到他们的页面是否有任何安全隐患?如果有,有哪些?跨站脚本?饼干嗅探?我可以通过清理 html 来使其工作吗?

现在我不允许这样做,但让人们自己决定会很棒。我注意到 Github 托管页面有用户在其上输入了 javascript。

2个回答

用于访问DOM同源策略隔离子域,为此XSS的影响隔离到特定子域。对Cookie的范围同源策略隔离,因为它们无法读取或写入另一子域名的cookie子域。只需确保您的主站点是www.site.com并且没有 cookie 的范围为*.site.com,因为这将是可访问的(如果它是HTTPOnly cookie,则无论其范围如何,都无法从 JavaScript 访问它)。

允许用户输入 Javascript 几乎是跨站脚本 (XSS) 的定义。

Samy Myspace 蠕虫故事很好地说明了当用户可以将 Javascript 上传到您的网站时会发生什么。Myspace 希望允许经过净化的 HTML,但黑客找到了绕过它的方法。他在其中放置了一些 Javascript,导致任何查看他的个人资料的人都与他“成为朋友”并将 javascript 发布到他们自己的个人资料上。