代码之家  ›  专栏  ›  技术社区  ›  Tom

php eval+gz膨胀感染-攻击向量是什么?

  •  0
  • Tom  · 技术社区  · 16 年前

    当我今天回家的时候,我发现我所有的PHP文件都被godaddy linux主机感染了。在所有文件的开头插入了以下代码:

    /**/ eval(base64_decode("aWYoZnVuY3....")
    

    根据日志,受感染的代码无法运行:

    eval()'d代码行1:gz充气()[函数.gz充气]:数据错误

    尽管如此,我还是想防止这种情况再次发生,但我不知道它们是如何出现的。我有一个ftp访问(没有sftp),所以理论上他们可以嗅出密码,但可能有一个更简单的解释。

    他们也可以利用戈达迪的设置中的不安全感,但在这种情况下,我不能做任何事情来阻止它。

    在我的PHP代码或配置中,是否会有一个典型的错误使得像这样对PHP文件进行黑客攻击成为可能?

    4 回复  |  直到 13 年前
        1
  •  1
  •   Arkh    16 年前

    在我的PHP代码或配置中,是否会有一个典型的错误使得像这样对PHP文件进行黑客攻击成为可能?

    可能有很多。但最有可能的是,你的ftp登录名/密码被偷了:清理你的电脑,使用sftp并更改密码以确保安全。

        2
  •  1
  •   symcbean    16 年前

    在我的PHP代码或配置中,是否会有一个典型的错误使得像这样对PHP文件进行黑客攻击成为可能?

    是的,可能是这样,但是如果没有像最初部署的那样检查每一行代码,就很难说了。请注意,为了重新编写代码,除了在中查找后门之外,文件还必须可以由正在运行的进程的uid写入。如果后门是代码中的一个漏洞,那么根据定义,godaddy的设置允许webserver uid对您的文件具有写权限是有问题的。

    但祝他们好运能修好它。

    当然,攻击者可能是通过另一条路线进入的。

    C.

        3
  •  0
  •   Tom    16 年前

    似乎是因为我包含了一个PHP文件,该文件的名称来自一个URL参数,它们在该参数中提供了自己的脚本。

    我以为它是安全的,因为它在形式上

    需要“data/$param”;

    所以我假设它只能是一个局部的include,它们不能修改。看起来他们给出了一个URL作为$param的值,该值指向包含攻击代码的外部PHP文件。我不确定URL之前的数据/部分是如何正确解析的,但这似乎是最可能的解释。

    有人知道在这种情况下如何处理URL吗?

        4
  •  0
  •   Just Plain High    13 年前

    您的网站正受到一个自动代理(自动黑客或蠕虫)的攻击,该代理正在入侵数千台服务器。这是由开发人员引入的代码库中的漏洞造成的。尽管有流行的观点,但这极不可能是SQL注入,因为使用这样的MySQL数据库很难实现完整的PHP远程代码执行。

    1. 更改您的ftp密码。尽可能使用sftp,ftp非常不安全,任何人不得以任何理由使用。事实上,我只想和一家真正关心安全的主机公司合作。

    2. 当我过去清理网站时,我发现了phpmailer的问题(这个项目是由弱智的恒河猴编写的,大约一百万台服务器因为这个垃圾被黑客攻击)。如果你更新了phpmailer,你可能在至少6个月内不会再次被黑客攻击。

    3. 第二个要看的是fckeditor,这是一个非常不安全的项目。默认情况下,它不会引入漏洞,但如果您打算使用它,那么您可能会将其配置为非常不安全。SDL或简单目录列表也可能有问题,但可能性较小。

    基本上,确保所有的PHP库和所有安装的PHP应用程序都是最新的。这包括像Joomla这样的CMS和像phpbb这样的论坛。

    最后的解决办法是雇佣一名专业人员。Web应用程序有很多问题,您需要有经验的人来清理被黑客攻击的网站。我知道我可以在gmail.com上解决这个问题。

    推荐文章