可能通过富文本编辑器发布图像容易受到XSS攻击吗?

时间:2013-11-16 17:16:25

标签: ckeditor jsoup xss wysiwyg ckfinder

我正在使用富文本编辑器 - CKEditor,允许用户输入呈现HTML / CSS的格式化文本。

为了防止不受信任的用户发起XSS攻击,我正在使用Jsoup Java库过滤/ whiltelists必要的标签和/或用户输入的属性,例如锚标签等,

<a href='http://example.com/' onclick='executeMaliciousTask();'>Click Here</a>

变成了

<a href="http://example.com/" rel="nofollow">Click Here</a>

Jsoup生成的链接似乎可以安全抵御XSS攻击。


我需要允许用户通过编辑器输入图像。为此,我正在使用Jsoup的following method

org.jsoup.Jsoup.clean(editorContents, org.jsoup.safety.Whitelist.basicWithImages();

允许用户以这种方式发布图像可能会以任何方式容易受到XSS攻击吗?

1 个答案:

答案 0 :(得分:1)

风险不是在生成的干净HTML中,而是在提供图像的服务器中。我主要担心的是CSRF。但是可能存在其他问题(例如导致缓冲区溢出的恶意图像,或者更改响应内容类型以及欺骗浏览器执行脚本,或设置跟踪cookie等)。

我的建议是不允许远程托管图像。允许用户包含img,但是获取图像,验证/规范化图像,并从您自己的主机提供它。