【问题标题】:Is it secure to give the user option to edit Marko template?为用户提供编辑 Marko 模板的选项是否安全?
【发布时间】:2015-12-30 01:58:27
【问题描述】:

我想让客户可以编辑 marko 模板。 我知道用户可以添加脚本和 XSS 问题。问题是关于server side

如果我从 nodejs 运行 marko 模板,并且模板来自一位用户。模板是否有可能评估服务器上的恶意代码?

换句话说: 我怎样才能阻止用户做这样的事情:

<if test="require('readFileSync').deleteAllMyFile...">
   Hi
</if>

【问题讨论】:

  • 如果您在服务器端执行模板,那么是的,如果您只将其编译成预编译代码,那么我猜这可能不是问题,但我仍然认为这是一个安全问题.

标签: javascript node.js marko


【解决方案1】:

Marko 在设计上允许在模板中使用任意 JavaScript 代码(出于性能原因)。目前,这使得已编译的 Marko 模板不适合在模板不受信任的情况下使用。然而,由于这种情况已经出现过几次,我们正在探索通过将编译模板加载到沙箱中来使它们安全的选项。您可以在以下 Github 问题中关注该讨论:https://github.com/marko-js/marko/issues/192

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 2010-10-07
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    相关资源
    最近更新 更多