为什么渲染用户生成的HTML或Javascript是危险的



我不知道这是否真的危险,但是,正如谷歌使用Google Apps Script提供的HTML和Javascript所做的那样(正如这里所解释的,他们使用Caja编译器来"清理和沙箱HTML")。

我想知道如果我让用户使用 Jinja2 模板编辑 HTML,让他们访问一些稍后会呈现的服务器端变量,是否会发生任何不好的事情。会发生什么坏事?

Obs:我不在乎用户的HTML是否会变得丑陋,或者它是否会破坏页面的其余部分。

允许最终用户编辑 HTML 或 JavaScript 可能会导致您的网站容易受到 XSS - https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) 的攻击。

如果用户查看其他用户创建的内容,则其脚本可能会通过将值发送到攻击者的服务器来破坏 cookie 值或用户会话。

HTML可能会发生坏事;大多数模板引擎(包括Jinja2)都可能发生更糟糕的事情。就像任意代码执行一样。这就是为什么有一个沙盒。

最新更新