xss prevention with ckeditor



我的情况有点不同,我使用CKEditor来编辑和显示内容,提交的字符串只显示在CKEditor中,而不会显示在其他地方。

我试过这个XSS:

<IMG """><SCRIPT>alert("XSS")</SCRIPT>">

我直接从后端将其添加到数据库中,而不是由CKEditor添加,因为我知道CKEditor在进入数据库之前做什么并不重要,因为攻击者总是可以在不处理CKEditor的情况下发送一些原始http请求。

令我惊讶的是,CKEditor向我展示了这个:

{cke_protected_1}">

所以CKEditor正在做一些事情来防止XSS,我意识到XSS的安全性可以从客户端实现。

我的问题是,CKEditor做得有多好,如果我只使用无属性标签加,它是否可靠

<a><img><table><span><pre>
(<a> and <table> could be disabled if it makes things easier)

PS:CKEditor使用默认设置。

您应该在服务器端防范XSS。如果你有这种可能性,只需在保存之前剥离任何不安全的数据。

请注意,wysiwyg编辑器必须以某种方式保护已编辑HTML中包含的JavaScript代码,以避免破坏已编辑的内容,这包括例如隐藏在wysiwyg模式下的<script>标记或将onclick事件处理程序更改为"数据-"属性。

{cke_prected_1}是试图隐藏<script>标记,由于从XSS Cheat Sheet中提取了一个有点"黑客"的HTML,该标记没有完全正常工作。

wysiwyg编辑器中的部分内置保护不应被视为针对XSS的服务器端保护的替代品。

最新更新