web-dev-qa-db-ja.com

データベースをスキャンして悪意のあるデータを探す

友人のサイトがハッキングされた後、私は彼がただファイルを変更されていないことを知っているように混乱を片付けて最初からやり直すべきであると彼に言った。

Grepなどのツールを使って彼のサイトをスキャンすることはできますが(最初は GrepとFriends )、私が疑問に思ったのはデータベースのスキャン方法です。何人かのハッカーがデータベース内にペイロードを置いた場合はどうなりますか。 XSSやPHPコードのような単純なものでも、コアでまだ評価が行われている(またはハックの時に発生した)場合があります。

助言がありますか? LIKE比較関数と一緒にSQL-Queriesを使用することを考えたか、または可能なREGEXさえあります。しかし、多分誰かがすでにこれをしているか、またはこれをしたいと思い、共有するいくつかのアイデアを持っています。

4
hakre

データベースをテキストとしてダンプして検索するのが良い方法だと私は読んだ。あなたはphpmyadminで検索することができますが、それは限られています。データベースのサイズと適切なテキストエディタによって異なりますが、データベースをダンプしてサイズを小さくする前に、投稿/ページのリビジョンを削除できます。あるいは、一度にいくつかのテーブルをダンプします。

6
markratledge

1つのアカウントにある私のサイトはすべて、多くのphpファイルに感染したDecode_Base64スクリプトに感染し、数時間かかるサイトのクリーンアップにもかかわらず、数時間後に再感染しました。

安全なFTP接続を使用して、wp-content/uploadsフォルダとその他の手動で更新されたファイルをダウンロードしました。

私はまた、テーマ、プラグイン、そして私が再適用する必要があるだろう他のカスタマイズのメモ/バックアップを取りました。

その後、私はすべてのアカウント/ FTPパスワードを変更し、手動でphpMyAdminを使用してデータベース/ユーザーパスワードを変更し、サイトが復旧したときにアクセスを拒否しました。

次に、私はすべてのサイトからすべてのWordpressのコードを削除し、代わりにサイトがメンテナンス中であると言った簡単なindex.htmlファイルをアップロードしました。

私はWP-content/uploadsフォルダをチェックして、画像でも私自身のコンテンツでもないもの、特にスクリプトを探しています(そこにはありません)。

次に、最新バージョンのWPをダウンロードし、新しいパスワードを使用して既存のデータベース用に構成し、サーバーにアップロードします。

現時点ではAkismetのみがアクティブになる予定のサイトにアクセスします。存在してはならないもの(ページ、投稿、リンクなど)を確認して削除します。

データベース/フォルダのバックアップがあることを確認するためにバックアッププラグインをインストールします。

ロックされた.htaccessファイルを作成し、ファイル/フォルダを保護する方法を説明するBulletproof-Securityプラグイン(または類似のもの)をインストールします。その推奨事項に従ってください。

最後に、徐々にカスタマイズを再度適用します。

複数のドメインがある場合は、必要に応じて繰り返します。

私の状況では、私は実際に新しいホストに移動することを計画していたので、これを行った後、再構築された古いバージョンがきれいであると確信したら、サイトごとにすべてを保存して新しいホストにそれらを作り直しました。

幸運を祈ります。これがお役に立てば幸いです。

4
Tony