来自Image的跨站点脚本

Dan*_*ert 6 security xss

我的网站上有一个富文本编辑器,我正在尝试防范XSS攻击.我想我已经完成了所有处理,但我仍然不确定如何处理图像.现在我正在使用以下正则表达式验证图像URL,我假设它将阻止内联javascript XSS攻击:

"https?://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+"
Run Code Online (Sandbox Code Playgroud)

我不确定的是,这让我对远程图像的XSS攻击有多开放.连接外部图像是否存在严重的安全威胁?

我唯一能想到的是输入的URL引用了一个资源,该资源返回" text/javascript"作为其MIME类型而不是某种图像,然后执行javascript.

那可能吗?我应该考虑其他安全威胁吗?

Jas*_*ers 4

另一件需要担心的事情是,您可以轻松地将 PHP 代码嵌入图像中并在大多数情况下上传。攻击要做的唯一一件事就是找到一种包含图像的方法。(只有 PHP 代码会被执行,其余的只是回显)。检查 MIME 类型不会帮助您解决此问题,因为攻击者可以轻松上传具有正确前几个字节的图像,后跟任意 PHP 代码。(对于 HTML 和 Javascript 代码来说也是如此)。