2016-04-06 6 views
1

MongoDBデータベースに2つのコレクションがあり、ユーザーがJSONオブジェクトを送信するために使用できるHTTPサービスがあるとします。

db.public_collection.find(user_json).limit(10) 

これは、書き込みアクセスなしでRBACユーザーによって実行されます。コレクション内の

  1. アルターレコード(私はRBACはこれを防ぐと仮定):オペレータ、できたユーザーは$を使用して

  2. 別のコレクションのレコードを変更しますか?
  3. サーバーの速度を低下させたリソース集中型のクエリを実行しますか?
+0

あなたが何を求めているのか分かりません。 find()メソッドを実行していて、ユーザーに読み取りアクセス権がない場合、findコマンドはどのように実行できますか? –

+0

おっと、それはタイプミスで、今は書き込みアクセスに変更されました。 – TDN169

+0

[すべてのプログラマーがセキュリティについて知っておくべきことは何ですか?](https://stackoverflow.com/questions/2794016/what-should-every-programmer-know-about-security) – styvane

答えて

0

RBACの設定がHTTPサービスへのアクセスを制御します。関数内でmongo findメソッドを使用すると、その特定のコレクションに対する検索操作や読み取り操作以外は許可されません。ユーザが高価なクエリを指定することを排除するものはありません。ただし、1つのコレクションにまたがるクエリは非常に高価ではなく、結果を10に制限しています。

0

これはお勧めできません。 javacript関数をクエリに挿入することによってサービス拒否攻撃を作成する方法や、ユーザーがアクセスしたくない情報を漏らす方法の例については、Testing for NoSQL InjectionおよびNoSQL injection in MongoDBを参照してください。

関連する問題