Cakephp 图像安全

Cakephp Image Security

我有一个允许用户上传图像的 CakePHP 应用程序。我目前使用的是版本 2。

我担心黑客会在图像中嵌入代码,然后在服务器上执行该代码。

有人知道 CakePHP 文档中使用的图像验证方法是否包括对此的安全检查吗?

这里有一个 link 可以更好地解释我的问题。 PHP image upload security check list

提前致谢

您可能需要先详细说明您所关注的情况,例如嵌入在图片中的代码如何在服务器上执行?那会是什么样的代码?服务器/应用程序如何处理这些图像?无论文件内容如何,​​仅将它们移动到文件系统中肯定不会有任何作用。

CakePHP 不附带任何检查二进制图像数据 integrity/validity 的验证功能。可能与图像相关的验证方法,如 Validation::mimeType() 仅通过 PHP finfo_*mime_content_type 函数进行非常基本的文件头检查。

即使 CakePHP 会验证图像​​数据结构,人们仍然可以通过元数据等方式嵌入各种内容,因此如果有人设法在正确的上下文中包含图像,则可能会执行嵌入的代码。

如前所述,首先评估威胁,然后确定适当的防御机制。如果您需要比 CakePHP 内置验证提供的更多安全性,那么您可能必须处理图像和 ditch/filter 元数据。然而,即使这可能会被利用,例如正确制作的 PNG IDAT 块甚至可能会在 resizing/resampling:

这样的过程中存活下来

https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/