SQL インジェクションは一般的な攻撃手法の 1 つですが、SQL (リレーショナル データベース) だけでなく、NoSQL (非 SQL、または非リレーショナル データベースとも呼ばれます) でも行われます。
現在 100 を超える NoSQL データベースが 利用可能であることをご存知ですか?
オープンソース コミュニティに感謝します。
どれを聞いたことがありますか?
おそらく MongoDB と Redis でしょう!はい、とても人気があります。
NoSQL は新しいものではありません。 1998 年にカルロ ストロッツィによって初めて導入されました。しかし最近では、最新のアプリケーションでの使用により非常に人気が高まっています。そして、なぜそうではないのか。これは高速であり、従来のリレーショナル データベースの問題のいくつかを解決します。 SQL と NoSQL には違いがあります。
MongoDB などの NoSQL データベースを使用していて、それが運用環境に適しているかどうかわからない場合は、脆弱性や構成ミスなどを公開しないでください。次のツールは、それらを見つけるのに役立ちます。

NoSQLマップ
NoSQLMap は 、Python をベースにしたオープンソースの小さなユーティリティで、構成ミスを検出するための監査とインジェクション攻撃の自動化が可能です。現時点では以下のデータベースをサポートしています。
- モンゴDB
- カウチDB
- レディス
- カサンドラ
NoSQLMap をインストールするには、Git、Python、および Setuptools モジュールが必要です。これらは以下で Ubuntu にインストールできます。
apt-get install python
apt-get install python-setuptools
Python がインストールされたら、次のようにして NoSQLMAP をインストールします。
git clone https://github.com/codingo/NoSQLMap.git
python setup.py install
完了したら、GIT クローンディレクトリから
./nosqlmap.py
を実行すると、以下のようなプロンプトが表示されます。
_ _ ___ ___ _ __ __
| \| |___/ __|/ _ \| | | \/ |__ _ _ __
| .` / _ \__ \ (_) | |__| |\/| / _` | '_ \
|_|\_\___/___/\__\_\____|_| |_\__,_| .__/
v0.7 codingo@protonmail.com |_|
1-Set options
2-NoSQL DB Access Attacks
3-NoSQL Web App attacks
4-Scan for Anonymous MongoDB Access
5-Change Platform (Current: MongoDB)
x-Exit
Select an option:
テストする前に、オプション 1 に移動してターゲットを設定する必要があります。以下のデモチュートリアルをご覧ください。

モンゴオーディット
名前から推測できるように、これは MongoDB に特化しています。 Mongoaudit は 、侵入テストを実行してバグ、構成ミス、潜在的なリスクを見つけるのに適しています。以下を含む多くのベスト プラクティスと照合してチェックします。
- MongoDB がデフォルトのポートで実行されており、HTTP インターフェースが有効になっている場合
- TLS で保護されている場合、認証
- 認証方法
- CRUD操作
Mongoaudit のインストールは簡単です。
pip
コマンドが使えます。
pip install mongoaudit
インストールしたら、
mongoaudit
コマンドを実行してスキャンを実行します。スキャン レベルを選択し、MongoDB リスナーの詳細を入力するよう求められます。
NoSQL データベースに対してセキュリティ スキャンを実行するためにどのツールを使用する場合でも、責任を持ってください。自分のデータベース インスタンスに対して実行しているか、テストの実行が許可されていることを確認する必要があります。 NoSQL で頻繁に作業する場合は、生産性を向上させるためにこれらのクライアントを検討することに興味があるかもしれません。
また、リレーショナル データベースにおける SQL インジェクションの脆弱性を見つけるには、この記事をチェックしてください。
