Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 837

NoSQL インジェクション

監修Cybersecurity entrepreneur & security researcher

NoSQL インジェクション とは何ですか?

NoSQL インジェクションNoSQL データベースの演算子・JSON・クエリ DSL を改ざんし、ロジックを回避したりデータを抽出したりするインジェクション攻撃。


NoSQL インジェクションは、信頼できない入力からドキュメント指向・キーバリュー型データベース(MongoDB、CouchDB、Elasticsearch など)のクエリを組み立てるアプリケーションを悪用します。攻撃者は SQL 構文ではなく、JSON 構造、$ne や $gt などの演算子、あるいはクエリ言語の断片を操作し、認証情報なしのログイン、任意ドキュメントの取得、エンジンが対応している場合はサーバーサイド JavaScript の評価を引き起こします。ブラインド型は真偽値や時間差で情報を漏洩させます。対策は、厳密なスキーマ検証、想定するプリミティブ型へのキャスト、文字列を期待する箇所でのオブジェクト型ペイロードの拒否、明示的な演算子を用いるドライバのクエリビルダーの利用、データベースアカウントへの最小権限付与です。

● 例

  1. 01

    MongoDB のログインエンドポイントに {"username": "admin", "password": {"$ne": null}} を送り、パスワードハッシュ比較を回避する。

  2. 02

    $where 句に JavaScript 式を注入し、脆弱なエンドポイントからドキュメントを列挙する。

● よくある質問

NoSQL インジェクション とは何ですか?

NoSQL データベースの演算子・JSON・クエリ DSL を改ざんし、ロジックを回避したりデータを抽出したりするインジェクション攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。

NoSQL インジェクション とはどういう意味ですか?

NoSQL データベースの演算子・JSON・クエリ DSL を改ざんし、ロジックを回避したりデータを抽出したりするインジェクション攻撃。

NoSQL インジェクション からどのように防御しますか?

NoSQL インジェクション に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

NoSQL インジェクション の別名は何ですか?

一般的な別名: NoSQLi。

● 関連用語

● 関連項目