10

たとえば、MySQL データベースには既知のセキュリティ上の問題があります。これは NoSQL データベースにどのように適用されますか? 例: インジェクション、xss など NoSQL データベースを使用する際に必要なセキュリティ対策は何ですか? 具体的には、MongoDB ( node-mongodb-nativeを使用) および Node.js (Express を使用)に関して

もしそうなら、これを防ぐのに役立つ Node/Express 用のモジュールはありますか?

4

1 に答える 1

11

NodeJS、MongoDB (および javascript を多用するその他の NoSQL データベース) には、サーバー側のJavaScript インジェクションという特定の問題があります。詳しくはこちらこちら(pdf)をご覧ください。これは、XSS というよりも SQL インジェクションに似ています。

まもなく、それは、JSON だけを期待しているときに、攻撃者が nodejs または mongodb に JavaScript を送信するときです。したがって、理論的には、悪者はサービスをダウンさせ (DOS)、データやファイルシステムにアクセスすることさえできます。

このような攻撃を防ぐには、次のことを行う必要があります。

  1. スクリプトをユーザー入力と連結して、「アドホック」な JavaScript コマンドを作成しないようにします。
  2. SSJS コマンドで使用されるユーザー入力を正規表現で検証します。
  3. JavaScript eval コマンドの使用は避けてください。特に、JSON 入力を解析する場合は、JSON.parse などのより安全な代替手段を使用してください。
于 2012-06-10T14:09:07.503 に答える