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。

関連用語

関連項目