我们让用户上传html到我们的服务器。我们需要一种模板语言,这样用户就可以在呈现的输出中插入变量,迭代列表等等。我们目前使用JSF作为模板语言。
如果我们让用户上传带有JSF标签的xhtml,他们能做什么坏事吗?或者它们是沙盒式的?
我们故意避免使用JSP,因为我们不希望用户在可以在服务器上运行的页面中插入恶意java代码。
JSF页面不是沙盒。虽然存在范围限制,但这并不是同一件事(有些重叠,但它们具有不同的目标)。您可能不应该允许上载JSF代码,但是您可能会尽可能地对输入进行筛选/净化。如果可能的话,使用安全操作白名单。黑名单几乎总是微不足道的,难以逃脱,因为列举可能的邪恶价值观是不可能的。注意,当你完成后,让你的网站进行专业的渗透测试,以确保你没有错过任何明显的东西。