任意JS / HTML上传的Web安全性

时间:2014-12-10 08:56:55

标签: javascript node.js security templating

我不确定如何对问题进行说明,因此请随意推荐标题的修改,但我有一些关于一些网络开发实践的一般(但希望具体到足够的)安全问题我和#39我遇到了。

有像EJS这样的模板系统允许代码在客户端运行。如果Web应用程序允许用户将JS和HTML文件上传到服务器以向公众提供服务,那么安全问题有哪些(如果有的话)?请注意,上传的JS / HTML文件只能通过放置在适当的文件夹(即资产文件夹)中公开提供。

如果不允许使用模板系统,但仍允许用户上传任意JS / HTML文件,那么仍存在哪些安全问题?

一些假设:

  • 具有一些MVC框架的Node.js服务器
  • 敏感数据集存储在服务器上,但只能由Node.js服务器直接访问
  • 用户只能通过请求来访问数据集,管理员可以批准/拒绝请求
  • 不担心网络钓鱼等社会工程攻击(更多关注危害数据的攻击)

如果这太笼统,请告诉我如何澄清。我只是想朝着正确的方向努力。

1 个答案:

答案 0 :(得分:0)

如果您真的只想保护服务器的数据和完整性: 只是转义文件,这样它们只被视为字符串而无法执行。稍后您使用该字符串并将其简单地写回文件。

确保稍后提供文件的服务器(例如来自资源文件夹)具有非常有限的权限(正是您需要提供的权限)。我建议您将node.js服务器拆分为两个。一个用于提供文件(非常有限的功能),另一个用于转义上传的文件并将它们放入例如你的资产文件夹。

但请注意,其他人可能会将您的服务用于CSRF和其他一些恶意内容。