如何更改文件 mime 类型以绕过 php shell 上传? [关闭]

Posted

技术标签:

【中文标题】如何更改文件 mime 类型以绕过 php shell 上传? [关闭]【英文标题】:How to change file mime type to bypass php shell upload? [closed] 【发布时间】:2012-08-15 00:40:40 【问题描述】:

我正在测试我的朋友网站。它只允许在上传脚本中上传 jpeg。检查是这样完成的 运行以下脚本

file --mime-type --brief filename

仅当这使 image/jpeg 允许上传时。我怎样才能上传一个php?基本上我需要欺骗这种 mime 类型? 非常感谢!

【问题讨论】:

我们不会打着“帮助朋友”的幌子帮助您破解网站。如果他需要安全测试,他可以聘请了解网络安全基础知识的人。 我可以访问代码。我不是黑客! 如果您只是想测试如果有人通过 mime 类型检查获得了一个 PHP 文件会发生什么,那么将一个 PHP 文件放在上传文件夹中并假装它发生了。你不需要这个问题的答案。如果您真的很好奇,那么请花 10 分钟时间了解 MIME 类型是如何确定的,而不是询问代码。 所以你有代码但你故意想在你的朋友脚本中放一个错误....太好了。 【参考方案1】:

我没有给你一个可行的解决方案,只是一个提示:JPEG 格式由不同的部分组成,有些是必需的,有些是可选的。在这些可选部分中,有些允许存储任意数据。

如果您设法更改现有 JPEG 图像的这样一部分,或者添加一个并将您的 PHP 代码放入其中,您将拥有一个嵌入了 PHP 代码的 JPEG 图像,该图像应该被识别为正确的 JPEG 图像。那么您所要做的就是调用该代码。

【讨论】:

以上是关于如何更改文件 mime 类型以绕过 php shell 上传? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 php 在文件上设置 mime 类型?

文件上传漏洞及其绕过

文件上传漏洞的一些总结

在 php 中更改输出的 mime 类型

PHP - 使用正确的 MIME 类型打开上传的 DOCX 文件

文件上传骚姿势合集