7

通过img标签包含外部图像会在我的网站上出现哪些安全漏洞以及如何避免它们?

我目前只在提交时检查扩展名和mime-type图像(可以在提交后更改URL),并URL在将其放入src属性之前对其进行清理。

4

3 回答 3

4

这里可能需要区分处于危险之中。

如果您所做的只是存储 URL,而不是将图像上传到您的服务器,那么您的站点可能是安全的,并且任何潜在的风险都是针对查看您站点的用户。

从本质上讲,您信任浏览器制造商的可靠性。事情可能没问题,但如果您的用户使用的某个浏览器出现安全漏洞,涉及错误解析包含恶意代码的图像,那么最终将由您的用户为此付费(您可能会发现GIFAR很有趣)。

这取决于您是否信任浏览器制造商制作安全软件,以及您是否信任您的用户不会将 URL 上传到可能包含某些浏览器漏洞的图像。现在可能安全的东西在下一个版本中可能不安全。

于 2012-07-21T23:12:12.690 回答
3

可以暴露的主要漏洞是损坏的图像导致浏览器内的缓冲区溢出,从而允许执行任意代码。

如果您只是将图像放入<img>标签中,则不应该存在与发送替代 MIME 类型相关的任何漏洞,但永远不要低估某些 Web 浏览器开发人员的愚蠢......

于 2012-07-21T23:02:06.937 回答
3

好吧,很明显,您没有对数据进行任何检查,因此数据可以是任何东西(远程服务器报告的 mime 类型不一定是真话)。另外,正如您所说,远程服务器上的数据可以更改,因为您在提交后从不查看它。

因此,如果将链接放入让我们说 <img src="..."/>,那么浏览器在图像处理中可能存在的任何漏洞都可以被利用。

“清理” URL 对任何事情都没有帮助:提交指向“坏”图像的链接的人不会攻击他自己的服务器。

于 2012-07-21T23:02:08.137 回答