2

私のウェブサイトが侵害されました。私のウェブサイトに iframe マークアップを挿入した人がいます。

彼らはどのようにこれを行ったのですか?私のindex.html、index.phpページのみ。しかし、私はこのページへの書き込み権限をブロックしました。

サーバー上の他のページに影響しますか?

これをブロックする他の解決策はありますか?

ありがとうございました

<?php` 
include_once("commonfiles/user_functions.php");
include_once("user_redirect.php"); 
include_once("designs/index.html");
?>

<iframe src='url' width='1' height='1' style='visibility: hidden;'></iframe>

これは私のindex.phpコード<iframe>で、phpスクリプトの後に挿入されます。

4

4 に答える 4

2

あなたのサイトに FTP アクセスできる人 (あなたまたは開発者) のワークステーションがウイルスに感染しています。このウイルスは、FTP クライアントから資格情報を盗み、この情報をハッカーに送り返すキーロガーをインストールします。

ハッカーはそのような資格情報を何百も収集し、プログラムを使用して各サーバーにログインし、ファイルをダウンロードし、それを変更して難読化された JavaScript または PHP の iframe またはブロックを追加し、ファイルをアップロードし、次のファイルをダウンロードし、変更し、アップロードし、次へダウンロードされたファイルは、一連の名前 ( index. 、 default.、 home.* のみなど) と一致するか、任意の html または PHP ファイルと一致する可能性があります。

追加されたコードは、多くの場合、非表示または 1x1px サイズの可視性の iframe、疑わしいドメイン上のリモート JavaScript ファイルをソースとする <script>、巧妙な str.CharCode によって難読化された Javascript のコレクション、または のブロックのいずれかです。 base64_encode された eval() されたコード。コードの難読化を解除すると、多くの場合、結果は iframe になります。最近では、巧妙な攻撃者がリモート シェルを挿入し、サーバーへのバックドア アクセスを許可しています。

すべてのファイルが変更されると、攻撃者はログアウトします。サイトへの訪問者は、ウイルスやルートキットをインストールする目的で、iframe にリンクされたドメインからの悪意のあるコードの対象となります。他の機能の中でも特に、これらのウイルスはキーロガーをインストールして FTP クレデンシャルを盗聴します...そしてウイルスは拡散し続けます。

攻撃者はあなたの資格情報を使用しているため、あなたがアクセスできるファイルにしかアクセスできません。場合によっては、エンコードされたシェルを使用して特定のディレクトリに追加のファイルをアップロードし、サーバーへのアクセスを返すことができます (一般的なファイルは、/forums ディレクトリの _captcha.php と /gallery ディレクトリの img.php または gifimg.php です)。サーバーで他のドメインをホストしている場合、影響を受けるドメインのユーザーが現在のドメイン以外にアクセスできない限り、他のドメインは影響を受けません。

この種の攻撃を阻止するには、予防と適切なウイルス対策の 2 つの方法があります。この攻撃は、ファイアウォールを使用し、FTP アクセスを少数の選択した IP のみに制限することで簡単に回避できます。攻撃者は、(まだ) 自分のワークステーションからではなく、世界のどこかのサーバーから攻撃しています。FTP アカウントにアクセスできるすべてのワークステーションで適切なウイルス対策を使用するか、できれば Windows XP を使用しないことで、元の感染の発生を防ぐことができます。

感染した場合、インジェクションを見つけて効果的な正規表現を作成する能力に応じて、少し巧妙な sed を使用して混乱をきれいにするのはかなり簡単です。それ以外の場合は、バックアップ バックアップ バックアップ -- 常にバックアップが必要です。...ああ、そして FTP パスワードを変更しないと、彼らは明日戻ってきます。

于 2009-11-15T17:24:16.620 に答える
1

これまでに投稿されたコメントから、コードが挿入されているファイルへの書き込み権限を持つユーザーアカウントに誰かがアクセスしたことはほぼ確実のようです。一部の個人が1つ以上のアカウントのパスワードを発見し、時々FTPにログインして変更を加えることを娯楽にしたようです。パスワードを変更してみましたか?15文字以上のかなり安全なパスワードを使用し、可能であれば印刷できない文字を含むさまざまな文字タイプを使用することをお勧めします(Alt /メタキーを使用してテンキーにUTFコードポイントを入力します)。

パスワードを変更した後も同じ問題が発生する場合は、別の問題が発生している可能性があります。まず、PHPスクリプトを真剣に調べます。スクリプトがフォームからのユーザー入力、Cookieに保存されたデータ、またはスクリプト自体の外部から発信されたその他のデータ(したがって「ダーティ」データの可能性がある)を受け入れる場合は、このデータを使用してスクリプトの操作を慎重に検討してください。このような潜在的にダーティなデータを使用してOSコマンドを実行したり、ファイルを開いたり、読み取ったり、書き込んだり、データベースにクエリを実行したりする場合、データにコードをエスケープするエスケープ文字が含まれている可能性があり、攻撃者は彼らがあなたのスクリプト内で望むコード。

アクセスログに注意してください。挿入されたiframeコードをスクリプトから削除し、再挿入され続けるとおっしゃいました。そのため、発生したときにキャッチできれば、アクセスログで変更のソースに関する手がかりを見つけることができます。

于 2009-11-06T13:58:06.903 に答える
1

phpファイル自体がこのiframeを含むように編集されていて、実行している別のスクリプトがファイルに書き込む方法が本当にない場合は、ファイルにアクセスできるユーザーアカウントが侵害されている可能性があります。弱いパスワードを持つファイルにアクセスできるユーザーアカウントがある場合、これが最も可能性の高い原因としての私の候補になります。

彼らはあなたのサイトで何らかの形のインジェクションを使用してユーザー名とパスワードハッシュを取得し、それらをブルートフォースしたか、アクセス権を持つ誰かのマシンにキーロガーをインストールしたか、直接ログインをブルートフォースした可能性があります(これを防ぐための何らかのメカニズムがあります)。

私が最初にすることは、マシンにアクセスできる人のコンピューターでウイルスが実行されていないことを確認することです。次に、パスワードの変更に取り掛かります。そして最後に、サイトのphpスクリプトを確認して、可能な注入ポイントを確認します。トラブルスポットは、ある種のユーザー入力を取り込んで、処理が安全であることを最初に確認せずに処理しているほとんどの場所にあります(つまり、ユーザーログインフォームから危険な文字を削除できない)。

于 2009-11-06T05:28:56.403 に答える
1

iframeをブロックする方法の詳細については、このスレッドを参照してください。

于 2009-11-11T16:55:44.753 に答える