問題タブ [database-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
39 参照

database - データベース ドキュメント ID の送信 (セキュリティ)

オブジェクトをデータベースに保存し、それらのオブジェクトへの変更に基づいて電子メールを送信する Web アプリがあります。デバッグと追跡のために、電子メールのメタデータにドキュメント ID を含めることを考えています。ここにセキュリティ上のリスクはありますか? 暗号化できました(AES-256)。

一般に、あいまいにすることによるセキュリティは適切な方法ではないことは理解していますが、それでもドキュメント ID に注意する必要があるかどうか疑問に思っています。

わかりやすくするために、CouchDB を使用していますが、これは一般的なデータベースに当てはまると思います。

0 投票する
1 に答える
147 参照

mongodb - MongoDB 動的データベース

良い一日。私は Web プロジェクトを開始しており、Java および Spring データで mongoDB を使用することを考えています。この Web プロジェクトでは、各ユーザーがデータベースを持っています。つまり、ユーザーがサインインすると (これはログイン情報のみを含む共有データベースになります)、指定されたユーザーのデータベースを使用していたでしょう。これは可能ですか?実装する最もエレガントな方法は何ですか? mongodb で春の日付を使用するこのリンクの例に従ってください。

0 投票する
1 に答える
2568 参照

sql - 復元されたデータベース SQL Server 2012 でデータベース権限を復元する

SQL Server 2012 データベース サーバーに SQL Server 2008 バックアップ データベースを復元しています。復元がうまくいき、ファイルが作成され、データベースがオンラインになります。

残念ながら、読み取り以外のデータベースに対する権限はありません。以前は、記憶が正しければ、復元されたデータベースからロール/スキーマを削除して、データベースに対する他の権限を復元することができました。残念ながら、これは現在機能しません...

復元されたデータベースにセキュリティを設定できるサイトを教えてください。

0 投票する
1 に答える
49 参照

mongodb - mongoDB での変更の承認を取り消す

MongoDB では、データベースへの不正アクセスと変更がどのように制限されているか。ログイン資格情報のみの場合。では、ストレージメディア(HDD、SSD)に保存されているデータは暗号化されていますか?

0 投票する
0 に答える
35 参照

sql-server - SQL Server 2012 におけるアプリケーション起動型データ型オーバーフロー セキュリティの脆弱性

簡単な説明:

不適切なアプリケーション検証により、無効なデータが SQL Server 2012 で実行される SQL 更新ステートメントに渡され、アプリケーションによって処理されないサーバー側エラーが発生します。データベースのセキュリティの観点から、これが悪用される可能性はありますか?

バックグラウンド:

私はフルタイムのセキュリティ専門家ではなく、セキュリティ関連の質問があり、できれば簡単な答えが得られることを願っています。「ブラック ボックス」アプローチを使用した「既製品」の Web アプリケーションの潜在的なセキュリティの脆弱性を調査していて、懸念の原因に遭遇しました。アプリケーションは、いくつかの nvarchar フィールドのデータ入力の長さの検証に失敗したようで、入力データを直接データベースに渡します。データがデータ型の長さ制限に違反している場合でも、アプリケーションはすべてが正常にコミットされたと主張します。書き込みを試みるとサーバー側でエラーが発生し、データがデータベースにコミットされないため、これはアプリケーションの検証のみに基づくステートメントであり、データベースからの戻り情報ではないようです。

質問:

無効な SQL 挿入ステートメントから入力データが失われるという明らかな問題を超えて、SQL Server レベルでのデータ型の長さのオーバーフローを悪用して、データベースの読み取りまたは書き込みを行ったり、後続の処理を妨げるメモリ ホギング ループを作成したりできますか?リクエスト?

さまざまなプログラミング言語で、バッファ メモリ オーバーフローが悪用されてアプリケーション レベルでコードが実行される (「スタックを壊す」) 可能性があることを認識しており、SQL Server レベルでの実行が制御されてエラーが発生するだけなのか疑問に思っていました。 SQL Serverレベルでの検証から、または追加のコマンドなどを何らかの方法で含めることができれば、; DELETE FROM USERS;追加の懸念の原因になる可能性があります。

追加情報が必要な場合はお知らせください。これに関する広範なドキュメントがあると思いますが、かなりの検索を行った後、Google または他のスタックの回答から必要なものを見つけることができませんでした。おそらく、答えは単に「SQL Server 2012 には、これを防止するための適切な内部検証がある」ということです。私を正しい方向に向けてください。ありがとうございました!

0 投票する
2 に答える
1068 参照

json - PostgreSQL: マルチ挿入での SQL インジェクションの防止

テーブルにデータを解析、検証、挿入する最速の方法を探しています( Postgresql 9.3)

データは、1..N 個のアイテムを含む json-array です。

テーブルは次のようになります。

そのために私はストアドプロシージャを持っています:

(関数は応答ステータスとして整数を返します)

関数呼び出し:

実際には、"insert.." ステートメントはかなり大きく、15 列を挿入する必要があり、明らかに SQL インジェクションを防ぐためにそれらのいくつかをチェックする必要があります。

質問: パフォーマンスを向上させるために、このストアド プロシージャを書き直す方法はありますか? 準備済みステートメントを使用する必要がありますか?

編集。

テーブルのパーティション分割のためにテーブル名が不明であるため、SQL文字列を作成する理由。テーブル名の形式は次のとおりです。logs_ id id - 挿入直前に取得される int。

0 投票する
1 に答える
150 参照

sql - 1 つのクエリでの複数のアクション ORACLE

DBLink を介してリモートで接続された 3 つのデータベースがあり、そのうちの 3 つにレコードを作成したいと考えています。この問題のダイナミクスは、他の小売店で見つけたアイテムを販売できる 3 つの小売店を持つ会社があることです。item1 は Retailstore1 でのみ見つかり、item2 は Retailstore2 でのみ見つかります。ただし、1 つのストアで現在見つからないアイテムを販売できるため、十分な在庫があるかどうかを確認するために、他のストアに要求する必要があります。1 つのストアが販売するたびに、LOG にレコードが作成されますが、成功した場合のみです。

これらは、例で使用されるテーブルです。

  • 小売店 #1: Items(a int), LOG(a int, b int, c int)
  • 小売店 #2: Items(b int), LOG(a int, b int, c int)
  • 小売店 #3: Items(c int), LOG(a int, b int, c int)

ここで、3 つのストアの LOG にレコードを作成する前に十分なアイテムの在庫があるかどうかを確認したいのですが、これは単一のクエリまたはストア プロシージャ、またはこれを可能にするために必要な手順で実行する必要があります。制限は、データベースを 1 回開いて実行し、閉じる必要があるということです。

0 投票する
1 に答える
116 参照

c# - セキュリティ: ストアド プロシージャを EF6 に変換する

プロジェクトを Sprox の使用から linq (EF6) に変換することを検討していますが、DB のアクセス許可について少し心配です。現時点では、すべての手順に明示的に権利を割り当てており、それ以上のものはありません。EntityFramework で動的に作成されたクエリを使用して、同様のレベルのセキュリティを確保するにはどうすればよいですか?