允许用户上传javascript / html / css

时间:2016-11-24 02:21:54

标签: javascript html css security

我正在创建一个网站,允许用户在一段时间内使他们的网站活着。它的工作原理如下:

  • 用户上传包含javascript / html / css / image的.zip文件。
  • 使用白名单过滤文件以删除不允许的扩展程序>
  • 将使用包含解压缩文件的随机名称创建新的子域。
  • ,用户现在可以查看他的设计。

那么上传javascript / html / css文件会导致哪些安全问题?

1 个答案:

答案 0 :(得分:0)

所有文件都是潜在的安全漏洞。 JavaScript,HTML和CSS文件可能很危险,因为它们中的所有文件都可能包含JavaScript代码。通过允许人们上传包含JavaScript代码的文件,您可以让他们上传将由访问者浏览器执行的代码。

在现代浏览器中,在CSS文件中嵌入JavaScript代码并不是一个真正的问题。但是如果你希望支持旧的浏览器,比如IE6或7,那么CSS文件也是一个潜在的安全漏洞。

攻击者使用的常用技术是跨站点脚本或XSS。基本上,攻击者通过使用表单或一些允许访问者向网站发送信息的低安全性API在网站上注入JavaScript代码。然后,所有其他用户可以执行该JavaScript代码,并且可以窃取敏感信息。以下是有关它的更多信息:https://en.wikipedia.org/wiki/Cross-site_scripting

现在,因为所有网站都位于不同的子域中,所以它们实际上有不同的来源,因此浏览器会阻止一个网站的JavaScript摆弄另一个网站的cookie。这称为同源策略,在此处对其进行了更详细的描述:https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy

请记住,其中一个恶意JavaScript文件可能会通过运行以下代码来更改其来源:

document.domain = "yourdomain.com";

这可能是一个潜在的威胁。 此外,同源策略在某些浏览器上具有不同的行为,例如Internet Explorer。对于最常见的Web浏览器,您最好阅读其中的文档。