Php Codeigniter 2.1.4应用程序遭到黑客攻击?

Php Codeigniter 2.1.4应用程序遭到黑客攻击?,php,security,codeigniter-2,Php,Security,Codeigniter 2,今天发生了一件奇怪的事。我制作了一个基于CI的网站,一名黑客设法: 通过将文件上载到root来覆盖我的index.php文件 将代码直接注入my index.php,用虚拟html格式的页面替换所有内容 我不知道上面哪一个是真的发生的 这个网站非常简单(没有输入表单,没有db ecc),我开始用CodeIgniter开发它,因为客户不知道他想要什么,所以我最终使用这个框架只是为了模板和压缩 我强烈怀疑PHP方面是否存在安全漏洞。我倾向于认为问题是因为我的主机服务服务器配置不好(我和他们聊得不好,

今天发生了一件奇怪的事。我制作了一个基于CI的网站,一名黑客设法:

  • 通过将文件上载到root来覆盖我的index.php文件
  • 将代码直接注入my index.php,用虚拟html格式的页面替换所有内容 我不知道上面哪一个是真的发生的

    这个网站非常简单(没有输入表单,没有db ecc),我开始用CodeIgniter开发它,因为客户不知道他想要什么,所以我最终使用这个框架只是为了模板和压缩

    我强烈怀疑PHP方面是否存在安全漏洞。我倾向于认为问题是因为我的主机服务服务器配置不好(我和他们聊得不好,他们说他们会调查此事)

    我发现非常奇怪的是,只有index.php(显然是)被修改了(应用程序和系统也在根目录中,因为我没有上面的FTP访问权限,也许如果我是一名黑客,我会在允许我的奇特索引显示之前删除根目录中的任何文件)


    这是怎么发生的?您认为最有可能的是什么?

    不幸的是,如果没有对服务器、服务器和系统日志等的完全访问权,没有人会给您一个直接的答案。这可能是许多事情之一,如果您使用的是共享主机,那么服务器的糟糕配置通常就意味着足够了(意思是如果一个人泄露了一个站点,他就泄露了所有站点)。这可能是服务器上过时的服务,攻击者在服务器上使用了一个公开可用的漏洞。它也可能是基于CI的漏洞,私有或公共

    如果您确信您的网站不可能被黑客入侵,那么很可能是一个配置不当的共享托管环境和权限,使攻击者能够访问不属于用户的系统命令和文件夹,随后通常会通过易受攻击的站点和服务器上传php外壳在那里,它就像浏览web服务器的文件夹一样简单。 我想说的第二种可能是,它可能是在共享主机上运行的过时的可利用服务


    如果你所说的html中有任何“签名”,你可能想用谷歌搜索它,看看返回的是什么。你也可能想通过PHP执行一些系统命令(您不应该能够访问的内容,如web根目录下的
    ls
    级别;如果您能够访问,攻击者很可能会以这种方式访问您的文件。

    不幸的是,如果您没有完全访问服务器、服务器和系统日志等,没有人会给您一个直接的答案。如果您在共享主机上,这可能是许多事情之一g、 简单地说,服务器的错误配置通常就足够了(意味着如果一个人泄露了一个站点,他就泄露了所有站点)。这可能是服务器上过时的服务,攻击者在服务器上使用了一个公开可用的漏洞。它也可能是基于CI的漏洞,私人或公共

    如果您确信您的网站不可能被黑客入侵,那么很可能是一个配置不当的共享托管环境和权限,使攻击者能够访问不属于用户的系统命令和文件夹,随后通常会通过易受攻击的站点和服务器上传php外壳在那里,它就像浏览web服务器的文件夹一样简单。 我想说的第二种可能是,它可能是在共享主机上运行的过时的可利用服务


    如果你所说的html中有任何“签名”,你可能想用谷歌搜索它,看看返回的是什么。你也可能想通过PHP执行一些系统命令(您不应该访问低于web根目录的
    ls
    级别的内容;如果您能够访问,则很可能是攻击者以这种方式访问您的文件。

    您的猜测和我们的一样好,请与您的主机提供商联系,看起来是访问服务器与ci的冲突,这很可能是注入或其他攻击造成的s、 也许你的目录权限是
    777
    ?@Jakub我有755个目录权限和644个文件权限。你的猜测和我们的一样好,请向你的主机提供商咨询,看起来这是访问服务器与ci的妥协,最有可能发生注入或其他攻击。也许你的目录权限是
    777
    ?@Jakub我有755个目录和644个文件。谢谢你的回复。我在我的根目录上上传了一个test.php,包含:exec('ls',$array)并打印了数组([0]=>application[1]=>sylesheet[2]=>images[3]=>index.php[4]=>js[5]=>system[6]=>test.php)首先,这意味着你能够在共享主机上执行命令,这通常已经够糟糕的了,因为一次权限失误就意味着整个服务器都处于危险之中。正如我在上一篇文章中所说的,在你的web根目录中尝试
    ls-l../
    ,如果你没有得到错误,我会说攻击者很肯定会这样做升级你的网站。如果文件是通用的(比如你所有的文件都属于apache用户),还要检查文件的所有权,您可能会遇到另一个问题,因为通过php执行命令的任何人都可以访问这些文件更改为
    ls-l../
    我可以看到所有的服务器目录确实--”所有权似乎很好谢谢!您真的帮了我很多忙。整个攻击体验都很有帮助。这让我在打开e是的,攻击我忽略的那些问题。谢谢你的回复。我在我的根目录上上传了一个test.php,包含:exec('ls',$array),并打印了数组([0]=>application[1]=>sylesheet[2]=>images[3]=>index.php[4]=>js[5]=>system[6]=>test.php)首先,这意味着您能够执行命令,这在共享主机上通常已经够糟糕的了,因为一次权限失误意味着整个服务器都有风险