【问题标题】:External image vulnerabilities外部镜像漏洞
【发布时间】:2012-07-20 17:42:25
【问题描述】:

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

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

【问题讨论】:

  • 请问您具体是如何检查扩展的,当您说提交URL后可以更改内容时,您是指用户还是您?
  • 肯定由用户(存储图像的服务器的所有者)。将 AddHandler 放入 .htaccess 并将 .jpeg 标记为可执行文件并不难。所有的网络嗅探器都是这样制作的

标签: php image security xss csrf


【解决方案1】:

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

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

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

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

【讨论】:

  • 谢谢!为了得到很好的答案并分享有关 GIFAR 的信息
【解决方案2】:

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

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

【讨论】:

  • 所以主要问题是浏览器?有什么方法可以保护这些外部图像吗?
  • 下载它们,扫描它们以查找已知漏洞。但我担心没有人这样做,这通常就是为什么实际使用安全浏览器如此重要的原因。我希望有一些报告/项目来了解当今所有网络浏览器的安全性。当我看到我的操作系统更新频率时,我会说浏览器也应该每两天更新一次。
【解决方案3】:

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

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

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

【讨论】:

  • 我应该对数据进行什么样的检查?
猜你喜欢
  • 2022-12-22
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
  • 2023-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-05
相关资源
最近更新 更多