XSS 在 Live Preview 中的漏洞
版本: 0.16.22 你能重现演示中的bug吗? [x] 是的 步骤:点击导入HTML插入 '<img src=“anyimagesource.gif” onload =“alert(1)”/>'JS将被处决 在iframe上设置合适的“沙盒”属性或许能缓解这个问题。
artf
如果你用 GrapesJS 并允许插入自定义 HTML,是的,Self-XSS 是可行的。 不幸的是,有几个问题让我无法正确修复我需要访问iframe的DOM来添加或更新内部组件,所以编辑器没有'sandbox=“allow-same-origin”就无法工作。在编辑器中运行 JS 是它的一个功能(Components with JS),所以要让它们正常工作,我还需要“允许脚本”同时拥有“允许同源”和“允许脚本”几乎就像不使用“沙盒”一样,因为 iframe 能够访问 co...
rukavina
你说得对,我们以为'sandbox=“allow-same-origin”就能解决,但'allow-scripts'也需要,这样就等于根本不用沙盒了。 不过,也许有用的是,提供一种方式让 Grapejs 用户能够以某种方式控制 iframe 画布的属性——这样他们就能承担起责任,控制沙盒值或其他属性。 谢谢!
blinkybill
如果你使用内容安全策略的HTTP头,可以绕过很多类似的XSS问题。但是GrapesJS目前有一个问题,就是它使用underscore.js,其中包含一个使用“eval”的函数,所以你无法让CSP头达到应有的安全水平