【问题标题】:All PHP files getting hacked所有 PHP 文件都被黑客入侵
【发布时间】:2010-05-17 20:16:13
【问题描述】:

和往常一样,只是想提前感谢您提供的所有帮助和意见。

我有一个特定的网站,我是该网站的 Web 开发人员,但我遇到了一个独特的问题。似乎有什么东西进入了我网站上的每个 PHP 文件并添加了一些恶意软件代码。我已多次从每个页面中删除代码并更改了 FTP 和 DB 密码,但无济于事。

添加的代码如下所示 - eval(base64_decode(string)) - string 是 3024 个字符。

不确定是否有其他人遇到过这个问题,或者是否有人知道如何保护我的 php 代码。

再次感谢。

【问题讨论】:

  • 这是自定义代码吗?或者是 WordPress 还是类似的东西?
  • 这是自定义的,没有内置任何 CMS。
  • 总结以下所有答案:请发布更多详细信息。它可能是糟糕的 PHP 或服务器配置问题或同一台机器上的其他用户......几乎所有问题。编辑问题并写更多内容。
  • @naugtur - 我不知道还能说什么......我已经发布了我所知道的。一段代码被插入到我服务器上的每个 PHP 文件中。该代码使用嵌套在 eval 函数内的 base64_decode 函数,其中包含一个字符串。不知道我还能发布什么。我在共享托管服务器上,并且已经切换了我的 ftp 密码。我想我需要一些指南来了解我的帖子中还应该包含哪些内容?
  • base64_decode(string) 返回什么?

标签: php security malware


【解决方案1】:

服务器本身可能受到威胁。向您的网络主机报告问题。他们的反应是什么?

不安全的 PHP 脚本加上不正确的文件权限可能使攻击者能够修改您的 PHP 文件。为了消除这种可能性,我会关闭站点,删除所有文件,重新上传,然后切换整个站点的权限以拒绝对文件系统的任何写入。

编辑: 作为短期修复,请尝试让您的网络主机为您的帐户禁用eval()。如果他们物有所值,他们应该运行Suhosin,它有一个option to disable eval

【讨论】:

  • 作为结论 - 我确实跟进了托管公司,他们并没有太多帮助(去图)。有趣的是,这在几周后就消失了,最近才浮出水面。我的一些团队成员能够找到问题所在。这是一个过时的 AWSStats 版本。我们确保要求他们将 AStats 更新到服务器范围内的最新版本,并且从那以后没有任何问题。希望这对任何人都有帮助!
【解决方案2】:

您应该在 php.ini 或 .htaccess 中使用“disable_functions=eval,exec”作为第一个措施。

【讨论】:

    【解决方案3】:

    是的,我自己也遇到过这个问题,我认为您在共享主机上?你可能在 rackspacecloud 上吗?

    这就是我遇到问题的地方,您需要立即做的第一件事是通知您的主机,这是一个主机问题,我怀疑恶意软件已经获得了对您服务器的 ftp 级别的访问权限。

    确保你没有任何 chmod 777 world writable,如果它需要你的应用程序可写,请将其设置为 775

    希望对你有帮助,祝你好运

    【讨论】:

    • 我在共享主机上,但不在 rackspacecloud 上。我已经通知了我的托管解决方案,他们说这是一个 PHP 安全问题。
    • @nsearle,你能得到比“这是一个 PHP 安全问题”更多的信息吗?他们是什么意思?
    • @Marcus Adams - 这是一个很好的问题。我刚刚被告知这可能是一些随机的 PHP 安全问题,并且“我”需要加强我的问题。 GD 又失败了。
    【解决方案4】:

    您应该更改文件权限,以便只有您可以写入这些文件。 0777(我相信某些主机上的默认值)只是自找麻烦。 See File Permissions.

    此外,建议不要将任何不应通过 URL 访问的文件放在 public_html 文件夹之外,例如配置文件。

    【讨论】:

      【解决方案5】:

      我遇到了类似的问题。但是,我的问题是我在我的网站上运行了一个 python 代码评估器。据我记得你需要使用 eval() 函数来执行 python 代码。在我的一个 php 文件中,我有一个奇怪的 eval 语句。您正在开发什么样的脚本?我的意思是它是否涉及对其他代码的评估?

      【讨论】:

        【解决方案6】:

        您还应该注意(假设您使用托管解决方案来托管您的网站)这几乎绝不是您的错。一个例子是,networksolutions 托管公司最近有一台服务器被黑,超过 1K 的网页受到影响,这不是由于每个特定站点上的安全漏洞,而是由于对托管这些站点的特定服务器上的内容进行了一些错误的配置/监控。如果您的代码看不到任何安全方面的错误,也就是您正确清理了所有内容,或者您​​正在运行您正在使用的任何 CMS 的非易受攻击版本(如果您使用 CMS),那么这可能不是您的问题网站,只是一般的服务器。

        【讨论】:

          【解决方案7】:

          您应该转移到另一台服务器。看起来攻击者可以访问服务器或正在运行一些代码作为覆盖文件的后台进程。可能可以识别并消除问题,但聪明的攻击者会隐藏额外的脚本等,以便稍后绊倒您。

          【讨论】:

          • 这是有道理的。可悲的是,此时我无法控制托管公司。我什至与他们讨论了支持问题,他们说这是一个 PHP 安全漏洞。
          【解决方案8】:

          我遇到过读取 filezilla conf 文件的病毒。 我向上帝发誓。起初我是:哇,然后我是:妈妈,f ***狡猾的 b*stards。

          检查您的电脑是否有病毒。

          【讨论】:

          • 我不认为 Mac 在这种情况下会让你更安全......当然,攻击者不太可能接管你的整个系统,但是这里或那里的 conf 文件不同故事。
          • 甚至不知道这是可能的。不得不阅读,filezilla 将密码存储为明文,很高兴我很长时间没有感染任何病毒。
          • 说真的。检查 ftp 访问日志。删除所有评估。在您的网站上留下一个意味着他们可以重写您的文件。
          【解决方案9】:

          其中一种可能的情况是,有人设法以某种方式获得了写入权限并更改密码等有所帮助,但他留下了一个仍然可以运行的 php 文件。

          查看那里是否有任何未知文件。或者删除所有该死的东西并恢复一些备份。

          【讨论】:

            【解决方案10】:

            获取文件的最后修改时间,然后转到您的访问日志(FTP、HTTP 任何打开的,如果您不知道它们在哪里询问您的主机)并找出谁在您的系统上乱搞那个时候。

            攻击者很可能安装了一个脚本,他们可以定期调用该脚本来重新感染您修复的任何文件。

            【讨论】:

              猜你喜欢
              • 2017-05-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-12-06
              • 1970-01-01
              • 2011-02-09
              • 2011-06-03
              • 1970-01-01
              相关资源
              最近更新 更多