web-dev-qa-db-ja.com

ハッカーが私のwp-config.phpを使って何ができるか

私は私のワードプレスのブログを保護しようとしています。私は自分のtable_prefixを変更し、私のwp-config.phpを隠すべきであるというウェブ上のいくつかの投稿を読みました。しかし、私はそれを手に入れませんか?攻撃者は私のwp-config.phpに対して何ができますか?

私のdb設定があることを意味しますが、攻撃者は例えば私のDB_Hostを必要とします、これは私のdbに接続するために得るのがそれほど簡単ではないですか?(私の場合、攻撃者が接続するのに使用できなかったdefine('DB_Host', 'localhost');)私のデシベル)

それとも私はSTHが恋しいですか?

お返事ありがとうございます。

11
Kare

localhostは実行中のマシンを表します。例えば私自身のサイトではtomjn.com localhostはいつものように127.0.0.1です。これは、ハッカーがどこに接続するのかを知らないという意味ではなく、ハッカーがlocalhosttomjn.comに置き換えることを意味します。

もちろん、私が前にプロキシを置いているとこれはうまくいきませんが、攻撃者が私のwp-config.phpにアクセスすると、その同じアクセスがそれらのマシンで他のことをさせてしまうことに注意してください。

それで今攻撃者はあなたのデータベースの詳細を知っています、そして彼らはwp-config.phpを読むことができます。これで、データベース内のすべてのものにアクセスできるようになり、データベース内のすべてのものを変更できるようになります。

あなたのインストールのセキュリティに応じて、彼らは自分自身でユーザを作成し、ログインし、PHP Shellスクリプトを使ってZip経由でプラグインをアップロードし、コマンドの発行を開始するか、ボットネットの一部としてサイトを使うことができます。 。

彼らはまたあなたの塩と秘密鍵を持っています(あなたがこれらのどれも持っていないならば、悪い悪い悪い)、あなたのユーザパスワードを強引に強制することは非常に簡単になります。彼らはまた彼らのEメールにアクセスすることができます。

wp-config.phpを取得することは、起こり得る最悪のことの1つです。それを使ってもっと多くのことをすることができますが、これによって起こる可能性のあるすべての攻撃をタイプアウトするのに数カ月かかるでしょう。

あなたのwp-config.phpが取得された場合は、実際の人ではなく、自動化された攻撃スクリプトがそれを行った可能性があります。すべての詳細を変更し、すべてのパスワードを再設定して、穴を閉じます。

9
Tom J Nowell

localhostからのみデータベースへのアクセスを受け入れる場合(これは、DB_Hostlocalhostとして定義することによっては達成されません)。それ自体ではそれほど多くはありません(最悪の場合、攻撃者が管理者アカウントを引き継ぐことになります)が、他の脆弱性と組み合わせて、攻撃者があなたの設定にアクセスできることは役に立つかもしれません。

ログイン認証情報

ユーザーは自分のユーザー名とパスワードを再利用します。攻撃者はあなたのデータベースのユーザ名とパスワード(あるいはそれらのバリエーション)があなたのワードプレスのインストール、あなたのホスト、あなたのEメールなどに有効かどうかチェックするでしょう。

少なくとも、攻撃者はあなたがどのような種類のパスワードを使用しているか(完全にランダム、小文字/数字、長さなど)の知識を持っています。

テーブルプレフィックス

SQLインジェクションが可能な場合、攻撃者はテーブル名を知っている必要があります。データベースによっては、これは非常に簡単な場合もあれば、推測が必要な場合もあります。推測が含まれる場合は、テーブルの接頭辞を付けるのが最善です。

キーとソルト

私は この記事はあなたが本当にこれらを漏らされたくないことを示唆しています (基本的に誰でもあなたの管理者アカウントを引き継ぐことができるでしょう)、それがどれほど最新であるかわかりませんが。

データベース文字セット

SQLインジェクションの中には文字セットに依存しているものがあるので、攻撃者にとってこれを知っておくのは良いことです。

まとめ

データベースへの外部アクセスを許可しない場合、パスワードを再利用しない場合、そしてどこにもSQLインジェクションを行っていない場合は、主な心配はキーとソルトです。

2
tim

書き込みアクセスは基本的に彼があなたのサイトで好きなことをするために彼自身のコードを注入するアクセスであるので、私はあなたが読み取りアクセスについて尋ねていると思います。

DB情報は機密ではないというあなたの仮定は間違っています。あなたのサイトがgodaddyでホストされているとしましょう。 godaddy AFAIKはおそらく自分のサーバーからしかアクセスできない専用のmysqlサーバーを使用していますが、自分の詳細を知っていれば、godaddyアカウントを作成してDBにアクセスするスクリプトを作成するのはどれほど難しいですか?ローカルDBの場合、悪用するのは難しいですが、共有ホスティングサーバーでは、100のサイトがあなたとサーバーを共有している可能性があります。

1
Mark Kaplun