1

SQL 2005のインストールで無効にしたXP_CmdShellを実行する以外に、データベースに対するDBO権限を取得した悪意のあるユーザーは次のことを実行できます。

  • 私のデータベースに、
  • 私のサーバーに?

私は、誰かがDBOを取得して、アプリケーションで「最小特権」のユーザーアカウントを実行することを正当化するという最悪の場合のセキュリティリスクを評価しています。「機密データ」を扱っていないため、誰かがDBOを取得した場合の影響は最小限であると主張する人もいます。

4

6 に答える 6

3

彼は任意のXP_sprocを実行できるため、レジストリを台無しにし、サーバー全体を台無しにすることができます。テーブルのドロップ/変更など...

于 2008-11-17T15:43:54.380 に答える
3

dboはデータベース所有者です-これはsaである場合とそうでない場合があります。dboとして、基本的に所有するデータベースを自由に管理できます。明らかに、これにより、アクセス許可が変更されたり、テーブルが削除されたりする可能性があります。

saとして、あなたはサーバーを自由に支配することができます。これには、新しい拡張プロシージャ(または、CLRが有効になっている場合は.NETアセンブリ)のインストールと、dboが実行できるすべてのこと(すべてのデータベースに対して)が含まれます。また、 xp_cmdshellを再度有効にすることもできます。

于 2008-11-17T16:12:27.097 に答える
2

SQLインジェクションに関する多くの情報がオンラインにあります。SQLに接続するユーザーの特権を制限することは、非常に重要な問題の1つです。

http://en.wikipedia.org/wiki/SQL_injection

これは私が数年前に遭遇した単純で恐ろしい例です。Webサイトは、URLを使用してその場でSQLステートを生成し、それらを実行します。私は次のようなURLを推測することができました

www.blah.com /.../ load.aspx?itemid = 1

このようなSQLを生成しました

SELECT *FROMアイテム(id = 1)

だから私はこのURLを送りました:

www.blah.com /.../ load.aspx?itemid=1;ドロップテーブルアイテム

バン。

少なくとも、DB接続がdboでなければ、これは失敗したでしょう。

于 2008-11-17T15:48:23.323 に答える
0

率直に言えば、彼があなたのデータベースを所有している場合、彼はあなたのデータベースをpwnします。つまり、データに別れを告げることができます。

于 2008-11-17T16:24:52.283 に答える
0

うん。典型的な防御策は、「まあ、少なくとも彼は自分のデータベース以外のものを台無しにすることはできない」です (xp_CmdShell は有効になっていません)。私、家の鍵のかかったクローゼットに狂犬の強姦犯がいるのは気が進まない。しかし、その類推は経営陣にうまく売り込めるものではありません。

于 2008-11-18T19:39:08.240 に答える
0

つまり、データに別れを告げることができます。

しかし、ディスクテープにバックアップがあるので、あなたは完璧です!

于 2008-11-18T16:38:25.360 に答える