2010-12-21 15 views
1

私は、ハッカーがトラフィックをリダイレクトするためのhtaccess命令を注入した、侵害されたウェブサイトを扱っています。フォワーディングハックを含む.htaccessファイルを簡単に見つけることができますが、ディレクトリにすでにhtaccessファイルが含まれている場合、危険な指示が追加されるため、htaccessファイルを削除することはできません。ディレクトリを開くか、urlrewriteの指示(WordPress)を削除するなど 4行のリダイレクトハックしか含まれていないファイルを見つける方法が見つかりませんでした。 これまでのところ、Linuxサーバ、特定の行だけを含むファイルの検索

findを使用しています。 -type f -exec grep -q targetpiratedomain {} \; -exec echo rm {} \;

ありがとうございます!

+3

すべての.htaccessファイルを削除し、ソース管理システムから正しいファイルを取得するだけです。その後、ハッカーが使用した穴を見つけて閉じることに集中することができます。 –

+1

意味がありますが、実際には他の人が作成したいくつかのサイトに当てはまります。そのため、私たちのSVNではなく、WordPressからインストールされています。だから私は、ハックだけを含んでいるファイルを削除してから手動で編集するほうがはるかに意味があると思った。 – Denis

答えて

1

.htaccessファイルのサイズを使用できます。単純なものはすべて同じサイズでなければなりません。
また、正しい名前のファイルのみを含めるようにfindコマンドを制限する必要があります。

また、コメントのように、実際に行うべきことは、ソース管理からサイトを復元するだけです。

+0

サイズをテストすることをお勧めします。残念ながら、すべてのファイルは.htaccessと呼ばれ、含まれる内容だけが異なる場合があります。開発されたサイトではソース管理は問題ありませんが、ここではほとんどがCMSなので、データのバージョンは変更されません。したがって、セキュリティ問題が(Plesk)サーバーの別の場所にあったため、 – Denis

3

.htaccessファイルの1つをテンプレートとして使用します。そして、次のコマンドを発行します。

find . -type f -name .htaccess -exec cmp -s <template> {} \; -exec rm {} \; 

cmpは、テンプレートファイルにファイルを比較しますと、これがtrueを返した場合、rmが実行されます。最初にこれをの代わりにechoまたはcatでテストするとよいでしょう。

コマンドを開始する前に、テンプレートファイルの名前を変更するか、移動してください。そうしないと、プロセス中にテンプレートが削除されます。

+0

素晴らしいですが、これに基づいて問題を解決できました: find。 -type f -name .htaccess -exec cmp -s/home/referencetpl {} \; -exec rm {} \; よろしくお願いいたします。 – Denis

関連する問題