Php 外部图像漏洞

Php 外部图像漏洞,php,image,security,xss,csrf,Php,Image,Security,Xss,Csrf,通过img标签包含外部图像会在我的网站上出现哪些安全漏洞,以及如何避免这些漏洞 我目前只检查提交时图像的扩展名和mime类型,在提交URL后可以更改,并且在将URL放入src属性之前对其进行清理。可以暴露的主要漏洞是损坏的图像导致浏览器内缓冲区溢出,从而允许任意代码执行 如果您只是将图像放入标记中,则不应存在任何与发送替代MIME类型相关的漏洞,但千万不要低估某些web浏览器开发人员的愚蠢…显然,您没有对数据进行任何检查,因此,数据可以是远程服务器报告的mime类型不一定能说明真相的任何内容。另

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


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

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


如果您只是将图像放入标记中,则不应存在任何与发送替代MIME类型相关的漏洞,但千万不要低估某些web浏览器开发人员的愚蠢…

显然,您没有对数据进行任何检查,因此,数据可以是远程服务器报告的mime类型不一定能说明真相的任何内容。另外,正如您所说的,远程服务器上的数据可以更改,因为您在提交后从未查看过它

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


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

这里可能需要区分哪些人有风险

如果你所做的只是存储URL,而不是将图像上传到你的服务器,那么你的网站可能是安全的,任何潜在的风险都存在于浏览你网站的用户身上

从本质上讲,您信任浏览器制造商的可靠性。事情可能会好起来,但如果您的用户使用的某个浏览器出现了安全漏洞,涉及到错误解析包含恶意代码的图像,那么您可能会感兴趣的是您的用户最终会为此付费


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

我可以问一下您是如何具体检查扩展的,当您说在提交URL后可以更改内容时,您是指用户还是您?当然是指存储图像的服务器的用户所有者。将AddHandler放入.htaccess并将.jpeg标记为可执行文件并不难。所有的网络嗅探器都是这样做的,所以主要的问题是浏览器?是否有一些方法来保护这些外部图像或其他东西?下载它们,扫描它们以查找已知的漏洞。但我担心没有人会这么做,这就是为什么真正使用安全浏览器如此重要的原因。我希望能有一些报告/项目来了解当今所有网络浏览器的安全性。当我看到我的操作系统更新的频率时,我会说浏览器也应该每两天更新一次。我应该对数据进行什么样的检查?谢谢!谢谢你的回答和分享关于吉法的信息