PHP文件重命名为JPG并上传到服务器是一个威胁


PHP file renamed to JPG and uploaded to server a threat?

我们有一个正在运行WordPress和Magento的服务器,并且在同一服务器上运行大约5个域。

黑客通过数百个位置的所有文件系统上传了这些恶意脚本。这是一个噩梦在这个阶段,我仍然无法找到入口点。

我只是注意到我们的AJAX图像上传字段之一允许我将PHP文件重命名为。jpg并将文件上传到服务器。

当我在浏览器中访问PHP .jpg文件时,它提供了一个破碎的图像。

所以我不确定黑客是否能够在这里上传PHP文件并作为PHP文件访问它,或者如果它只是作为一个破碎的图像,就像它在浏览器中为我做的那样?

你知道这会造成多大的安全威胁吗?有没有可能是我的入口黑客从这里获得了初始访问权限?或者当我在浏览器中加载时,它作为一个破碎的图像而不是处理PHP文件,这是否意味着它有点安全?

任何帮助都很感激,谢谢你

如果没有实际检查,很难说黑客是否做了什么。

关于如何保护未来的图像上传,我建议使用像PHP http://php.net/manual/en/function.finfo-file.php中的finfo这样的函数来查找文件是否属于任何批准的mime类型,顺便说一句,您应该限制到只有有限类型的图像类型。

你也应该考虑不允许使用原始图像,而是一个调整后的版本,以避免用户最终下载巨大的图像或类似的东西。

答:
通常(取决于web服务器配置)如果PHP文件有不同的扩展名,没有人可以执行它,他们可以上传它,但他们不能运行它,至少在任何常见配置下。

所以,理论上你不应该担心这个具体的事情,但要担心有人花时间试图入侵你,这意味着你应该花时间保护网站和服务器。

我建议您搜索有关如何保护您的特定服务器和配置的文章,并确保您将软件,操作系统等更新到最新的安全更新。

能够上传扩展名为.jpeg但PHP内容的文件本身并不是一个漏洞。然而:

  1. 如果攻击者在整个文件系统中写入,您可能有一个带有目录遍历漏洞的上传函数,需要修复,理想情况下,不让上传者选择自己的文件名;

  2. 当您让用户从与站点相同的主机名上传要提供的内容时,跨站点脚本还存在其他问题;

  3. 这可能是值得检查的上传文件使用getimagesize(),以确保你有一个JPEG文件和非荒谬的尺寸,但考虑到"变色龙"文件的可能性,可以解释为多种不同的类型,这并不一定是无滴不漏的,所以这是一个"纵深防御"的措施在最好的

让web服务器运行。jpeg文件作为PHP代码可以通过以下方式实现:

  1. 能够写入服务器配置,将.jpeg与PHP处理程序相关联。通常这种情况会发生,因为另一个易受攻击的文件上传功能允许攻击者在同一目录下编写.htaccess文件供Apache拾取。

  2. 一个有本地文件包含安全漏洞的PHP脚本。通常是这样的代码:

    包括(包括/$变量);

攻击者可以将内容放入$variable,指向某物。jpeg。一般来说,include/require不应该与变量一起使用,除非这些变量被明确地限制为几个已知的好值。

另一个可能的可能性,如果你有加载恶意页面上传到你的服务器是你的服务器登录被泄露。

相关文章: