-1

我正在寻找类似 php 脚本的东西在我的网站上运行以清理损坏的文件。

我发现了 3 种不同的损坏格式: php 文件:在 .js 文件之前有一个 iframe 行:在每个文件的第一行有一个 iframe 行每个文件夹都有一个 default.php 文件,其中只包含一行echo(decodeBase64(...))

所以,我知道如何查找/擦除恶意软件,然后我可以编写一个脚本来读取/写入我服务器上的文件来清理它。

但是这需要几个小时......那么已经存在类似的东西了吗?

(ps:托管在 GoDaddy 上,由于价格低廉,我不考虑移动,我也不是安全方面的专家,即使我知道我们需要修补这些安全漏洞,我需要一些临时解决方案来解决现在)

4

2 回答 2

2

我看到您提到您知道如何找到恶意软件,但这非常重要,我想引起人们的注意。

恶意代码通过攻击者用来获取访问权限的某种方式进入您的站点。它可能是恶意软件,但也可能是任何数量的其他安全问题。如果您不解决其他安全问题,那么删除代码对您没有好处。以下是一些需要检查的常见事项:

  1. Telnet/FTP 和其他明文协议被禁用
  2. 仅在需要时启用 SSH/SFTP
  3. 用户帐户(尤其是具有 SSH 权限的)具有强密码
  4. 您的 PHP 服务器是最新的补丁
  5. 您没有运行任何不必要的服务,并且您正在运行的服务在其补丁上是最新的
  6. 在您的服务器和防火墙上打开日志记录(您确实有防火墙,对吗?),并查看现有日志以查看是否可以找到有关攻击的提示

您可能还想使用WapitiW3af扫描您的服务器,以识别攻击者可能用来破坏您的应用程序的常见漏洞(如 SQL 注入)。

然后使用 AlanChavez 的建议来清理受感染的代码。

于 2013-06-04T19:44:49.890 回答
2

不需要几个小时,我在几分钟内编写了一个非常非常简单的脚本,您可以手动调整以满足您的需求。

这里是:

    $realPath = realpath('path/to/your/wp/installation');
    // The needle is the string that you want to look for in your files
    // gzinflate is pretty common, also try to look for preg_replace or eval,
    // but those instructions are commonly used in WP, so you'll have a bunch of
    // false positives.
    //
    // As far as js files, you might want to also look for document.writes because
    // that's how worms insert iframes into your websites.  
    $needle = "/gzinflate/"; 
    $di = new RecursiveDirectoryIterator( $realPath );
    foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
            $haystack = file_get_contents($filename);
            if(preg_match_all($needle, $haystack, $matches)) {
                   // Outputs suspicious file, not necessarily infected.
                    echo $filename;
                    echo "\n";
            }
于 2013-06-04T18:37:17.187 回答