最近、私のサイトの1つがハッキングされました。ハッカーはSQLインジェクションを使用してセキュリティを侵害しました。 SQLアクセスを取得した後、彼はデータベースの多くの場所にコードを挿入しました。私はそれらの多くを片付けました。しかし、それでも隠されたバックドアが含まれているのではないかと心配しています。
そのような挿入されたコードをどのように見つけることができますか?
DBの接続設定を確認し、パスワードをリセットして、DBへの接続を許可されているユーザーのホスト名を確認することをお勧めします。また、侵入の元のソースを使い果たしたことを確認してください。 (クエリログがある場合は、SQLインジェクションが有効なクエリに便乗するため、不正なクエリで発生した他のクエリを探します。)
より複雑な問題は、DBからHTMLコンテンツをホストしている場合です。この場合、攻撃者はさらに挿入できるページを導入する可能性がありますが、そのようなレコードは、説明したように差分を実行しないと見つけるのが非常に困難です。これは、DBで実行されているシステム内で権限の昇格を行った場合にも当てはまります。
チェックする価値のある他の事柄があるかもしれませんが、それらはSQLDBが危険にさらされたままになる可能性のある一般的な方法についてすぐに頭に浮かぶものです。
私はどのタイプの自動レビューも信用しません-単一の偽陰性であり、サーバーは再びポップされます。攻撃前の適切なバックアップがわかっているといいのですが、そうでないと、何を信頼できるかを知るのが難しくなります。