5

ここで奇妙なシナリオに取り組みます。

私たちは、mySQL を使用してデータを保存する独自のワークステーション管理アプリケーションを使用しています。アプリケーション内では、どのユーザーがいつどのマシンにログインしたか、監視対象のマシンにインストールされたすべてのソフトウェア製品など、多数のレポートが提供されます。別のレポート セットを検討していますが、カスタム レポートはサポートされていません。

それらのデータは mySQL に保存されているため、手動でレポートを作成できるようになりました。ただし、mySQL サーバーに接続するための有効な資格情報がありません。mySQL サーバーでユーザー アカウントを作成する方法はありますか? アプリケーションが壊れる可能性があるため、ルートパスワードやそこにある可能性のあるアカウントをリセットしたくありません。


Windows 2003 サーバーに完全にアクセスできます。mySQL サーバーを含むサービスを停止および再起動できます。実際の mySQL サーバーには、ソフトウェアが提供する GUI を介した基本的なアクセスしかありません。CLI または別のツールを介して直接接続できません (資格情報がないため)。


mySQL サーバーへの不正アクセスを取得しようとしているかのように表示された場合は、お詫び申し上げます。ソフトウェア会社に連絡しましたが、今日の時点で 2 週間応答がありません。データにアクセスする必要があります。私は物理的なボックスに完全にアクセスでき、管理者権限を持っています。

4

5 に答える 5

9

MySQL パスワード回復プロセスを使用する必要があります。パスワード リセット クエリを新しいユーザーを追加するクエリに置き換えることを除いて、次の手順に従います。新しいユーザー クエリは次のようになります。

GRANT ALL ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

これにより、パスワード「mypassword」を持つ新しいユーザー「myuser」が作成され、ローカル システムの CLI を介して MySQL にログインできます。次に、MySQL 管理者 GUI (ここからダウンロード) を使用してユーザー権限を更新し、ネットワーク上の他のシステムからログインできるようにします。または、それがよりあなたのスタイルである場合は、CLI からのGRANTステートメントを使用してください。

于 2008-09-19T21:31:32.300 に答える
0

データベース側にログを保持するトリガーがある可能性が高いため、データベースにハッキングすると、いつ、どのようにそれを行ったかがわかります。良い考えではありません。

于 2008-09-19T21:19:39.567 に答える
0

問題の MySQL サーバーにアクセスできますか?

たとえば、通常のユーザー以外にどのようなアクセス権がありますか? そこに「ハッキング」する前に、これらのルートを通過するようにしてください。これは、そのソフトウェアで実行できる場合とできない場合があるためです。

于 2008-09-19T21:11:42.363 に答える
0

私は本当にこれに答えるべきではないと思いますが、それはあまりにも楽しいです.

SQL インジェクションに関するこのページを参照してください。それはあなたのニーズをカバーするはずです。 このページでは、ユーザー アカウントを mySQL に追加する方法を示します。

ランダムなユーザー入力フィールドに次のように入力してみます。

p'; INSERT INTO user VALUES

('localhost','myNewAdmin',PASSWORD('some_pass'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y ','Y','Y','Y','Y','Y');

その後

p'; FLUSH PRIVILEGES;

p'; 通常の質問を閉じることを目的としています。例 - 通常の質問は次のとおりです。

"Select Adress from cusomers where custName = ' + $INPUT + ';

になる

    Select Adress from cusomers where custName = 'p'; INSERT INTO user 
VALUES('localhost','myNewAdmin',PASSWORD('some_pass'), 
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); 
于 2008-09-19T21:13:55.057 に答える
0

頭に浮かぶことの 1 つは、データベース通信を傍受し、暗号化されていないことを願うことです。暗号化されている場合は、SSL を使用しないように構成を変更して、mysql を再起動してみてください。私がよく使うスニファはWiresharkです

mysql 5.0 のドキュメントから:

MySQL は、Secure Sockets Layer (SSL) プロトコルを使用して、MySQL クライアントとサーバー間の安全な (暗号化された) 接続をサポートします。このセクションでは、SSL 接続の使用方法について説明します。また、Windows で SSH をセットアップする方法についても説明します。ユーザーに SSL 接続の使用を要求する方法については、セクション12.5.1.3「GRANT 構文」の GRANT ステートメントの REQUIRE 句の説明を参照してください。

MySQL の標準構成は可能な限り高速であることを目的としているため、暗号化された接続はデフォルトでは使用されません。これを行うと、クライアント/サーバー プロトコルが大幅に遅くなります。データの暗号化は CPU を集中的に使用する操作であり、コンピュータに追加の作業を要求し、他の MySQL タスクを遅らせる可能性があります。暗号化された接続によって提供されるセキュリティを必要とするアプリケーションの場合、追加の計算が保証されます。

MySQL では、接続ごとに暗号化を有効にすることができます。個々のアプリケーションの要件に応じて、暗号化されていない通常の接続または安全な暗号化 SSL 接続を選択できます。

安全な接続は OpenSSL API に基づいており、MySQL C API を介して利用できます。レプリケーションは C API を使用するため、マスター サーバーとスレーブ サーバー間で安全な接続を使用できます。

おそらくすでにそれを行っているでしょうが、それでも - アプリケーションの構成ファイルを検索してみてください。何もない場合は、実行可能ファイル/ソース コードを検索してみてください。運が良ければ、プレーンテキストである可能性があります。

于 2008-09-19T21:15:01.357 に答える