jsfiddle、codepen等允许在线编写脚本的网站采取了哪些安全措施?

信息安全 xss 脆弱性 攻击预防 注射
2021-08-31 11:43:00

正如标题中所问的那样,我一直在想这个问题。这些站点也允许用户编写脚本并存储它们。它们是否不易受到跨站点脚本或任何其他类似攻击等攻击?如果是这样,他们如何保护自己和客户。

例如,有人编写了恶意代码,并与冒充需要帮助的人共享代码。现在,堆栈成员当然会运行代码来检查问题所在。这不是直接落入攻击者的手中吗?

1个回答

这里你需要担心的是 XSS。一般来说,脚本并不(应该是)危险的,因为浏览器限制了攻击者可以做的事情。至少你不能在 JSFiddle 上做任何其他网页上做不到的事情。

但是 XSS 呢?如果您查看 JSFiddle 的源代码,您会发现:

<iframe sandbox="allow-forms allow-scripts allow-same-origin allow-modals allow-popups" allowfullscreen="" name="result" frameborder="0">

因此,执行代码的区域包含在 iframe 中。该页面的 URL 是https://fiddle.jshell.net/_display/由于它与 JSFiddle 本身位于不同的域中,因此它无法访问任何 JSFiddle cookie。因此,该域对 XSS 毫无意义,因为它不包含任何价值。它只是一个返回您发布给它的任何脚本的页面。