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


11

ワードプレスのブログを保護しようとしています。私は自分のを変更してtable_prefix非表示にする必要のあるWeb上のいくつかの投稿を読みましたwp-config.php。しかし、私はそれを得ませんか?攻撃者は私の何をすることができwp-config.phpますか?

私は私のデシベルの構成がある意味ではなく、攻撃者は私を必要とするDB_HOST私のDBに接続するために、簡単に取得すること(私の場合そのではないが、例えば、のために:? define('DB_HOST', 'localhost');、攻撃者は自分のDBへの接続に使用することができませんでした)

それとも私はsthを欠いていますか?

返信ありがとうございます!


彼がSQLを注入するのは簡単だと思います。スター付き。専門家がこれに答えるのを待っています。
Robert hue

また、Programming Puzzles&Code Golfベータ版に投稿して、人々が思いつくものを見ることができます。:)
Joshua Taylor

1
@JoshuaTaylorいいえ。明白な倫理的問題は別として、それは私たちのサイトの目的ではありません。私たちは、「ねえ、みんなでコードを書いて楽しみましょう!
ドアノブ2014

@Doorknobさて、明らかに人気コンテストになるでしょう。しかし、真剣に、私は「:)」が私が本気ではなかったことを伝えることを望みました。結果として誰かがwp-configファイルを投稿しようとした場合は、私の謝罪を受け入れてください。
ジョシュアテイラー

回答:


9

localhostそれが実行されているマシンを指します。たとえば、自分のサイトtomjn.comのlocalhostは127.0.0.1いつものようにあります。これは、ハッカーがどこに接続するかを知らないという意味ではなく、ハッカーがに置き換わることを意味localhosttomjn.comます。

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

これで攻撃者はデータベースの詳細を入手し、を読み取ることができますwp-config.php。これで、データベース内のすべてにアクセスできるようになり、データベース内のすべてを変更できます。

インストールのセキュリティに応じて、ユーザーは自分用のユーザーを作成し、ログインし、PHPシェルスクリプトを使用してzip経由でプラグインをアップロードし、コマンドの発行を開始したり、ボットネットの一部としてサイトを使用したりできます。

また、ソルトとシークレットキーが含まれているため(これらのキーがない場合は、bad bad bad)、ユーザーパスワードのブルートフォースの強制が非常に簡単になります。また、メールにアクセスできます。

取得wp-config.phpは起こり得る最悪の事態の1つであると言えば十分です。それを使用してさらに多くのことができますが、これにより発生する可能性のあるすべての攻撃をタイプアウトするには数か月かかります。

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


2
これは、ハッカーがどこに接続するかを知らないという意味ではなく、ハッカーがに置き換わることを意味localhosttomjn.comます。>これは、外部からアクセスできるデータベースへのポートがあることを前提としています。ファイアウォールルールでポートを閉じ、ローカルネットワーク上のコンピューター(wordpress自体を実行しているコンピューターを含む)のみがデータベースに接続できるようにすると、安全ではないですか?
IQAndreas 14

1
それはまだ正しい場所ですが、ポートは関連があります。私は主に質問の元のメモを目指していました
トムJノウェル

2

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

ログイン認証情報

ユーザーは自分のユーザー名とパスワードを再利用します。攻撃者は、データベースのユーザー名とパスワード(またはそれらのバリエーション)が、ワードプレスのインストール、ホスティング業者、電子メールなどで機能するかどうかを確認します。

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

テーブルプレフィックス

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

キーとソルト

私が見つかりました。この記事は、あなたが本当にこれらの漏洩したくないことを示唆している、私はそれがどのように最新の知らないが、(基本的に、誰もが自分の管理者アカウントを引き継ぐ可能性が)。

データベース文字セット

一部のSQLインジェクションは文字セットに依存するため、攻撃者がこれを知っているとよいでしょう。

概要

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


その記事は十分に最新です。あなたはあなたの塩と鍵を漏らしたくない。これらは個人情報です。それらが使用可能になったと思われる場合でも、すぐにそれらを他のランダムデータセットに変更します。それらを変更することの本当の欠点はありません、それは単にあなたをウェブサイトからログアウトさせ、あなたは再びログインする必要があります。ここから新しいランダム化されたキーとソルトのセットを取得できます:api.wordpress.org/secret-key/1.1/salt
Otto

1

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.