如何欺骗文件上传的 Mimetype?

信息安全 上传文件
2021-08-26 05:47:30

有帖子说 php mimetype 不安全,或者可以绕过。人们如何欺骗 mimetype?

1个回答

如果您以编程方式在上传请求上创建标头,则可以声明标头等。包含一些代码示例的说明。

您应该超越 mime 类型并检查内容。例如,如果您允许上传图片,请在服务器上转换图片并进行其他检查。

您可能想在 SO 上查看这篇文章

“签名标头”可帮助您确定文件尝试模拟的图像格式。在下一步中,您可以检查其余内容是否符合底层图像格式。这将保证您该文件确实是该特定格式的图像文件。

您可能还对 GIFAR 上的这篇文章感兴趣

他们称这种类型的文件为 GIFAR,是 GIF 和 JAR 的缩写,这两种文件类型是混合的。在 Black Hat 上,研究人员将向与会者展示如何创建 GIFAR,同时省略一些关键细节,以防止它立即被用于任何广泛的攻击。

对于 Web 服务器,该文件看起来与 .gif 文件完全一样,但浏览器的 Java 虚拟机会将其作为 Java Archive 文件打开,然后作为小程序运行。这使攻击者有机会在受害者的浏览器中运行 Java 代码。就浏览器本身而言,浏览器将这个恶意小程序视为由网站的开发人员编写。