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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-29622 — このサービスをハックしてCVE-2022–29622が有効であることを証明せよ | Kitploit
ツール/GitHubGitHub/keymandll/cve-2022-29622
脆弱性分析ウェブアプリケーション悪用CTFペネトレーションテスト学習と教育ラボと実践
GitHubkeymandll/cve-2022-29622

CVE-2022-29622

このサービスをハックしてCVE-2022–29622が有効であることを証明せよ

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2022–29622: (非)脆弱性分析

このコードベースは、セキュリティ専門家や開発者が、なぜ私がFormidableはCVE-2022-29622に対して脆弱ではなかったと考えるのかを理解するために作成されました。分析内容はこちらにまとめています:CVE-2022–29622: (非)脆弱性分析

一部の方には理解されなかったため、実際に動作するコードを使って私の主張を説明しようと思います。

サーバー

サーバーはindex.mjsで実装されています。アップロードするファイルにはFormidable バージョン3.1.4を使用しています。

以下に示すようにFormidableを明示的に設定しました。

root@kitploit:~
{
      uploadDir: './uploads/',
      keepExtensions: true,
    }

これにより、すべてのファイルがuploadsディレクトリにアップロードされます。keepExtensionを有効にしているため、悪意のあるファイル名のままファイルをアップロードできます。

サーバーの起動

サーバーをセットアップして起動するには、このディレクトリで以下のコマンドを実行します。

root@kitploit:~
npm install
npm run start

最初のコマンドで、適切なバージョンのformidableを含むすべての依存関係がインストールされます。2番目のコマンドでサーバーが起動します。

起動後、サーバーが公開するファイルアップロードフォームにアクセスできます: http://127.0.0.1:3000/

悪意のあるファイルのアップロード

examplesディレクトリに、悪意のある名前が付けられたファイルを例として2つ含めています。

http://127.0.0.1:3000 のフォームを使って送信されたファイルは、uploadsディレクトリにアップロードされます。

チャレンジ

チャレンジは、formidableがCVE-2022–29622に対して脆弱であることを証明できるかどうかです。そのためには、アップロードしたファイル内またはファイル名に含めたコードを、このWebサーバーに実行させる必要があります。

ルール:

  1. 悪意のあるペイロードをファイル内またはファイル名に含めることができます。(私が提供した例と同様です。)
  2. ファイルアップロードに関連するHTTPリクエストの部分(例:マルチパートボディ、content-type、boundary文字列)を改ざんすることができます。
  3. 唯一許容される攻撃面はポート3000です。このディレクトリ内のファイルを絶対に変更してはいけません。

もし、上記のルールを厳密に守って任意のコードを実行できたなら、そのとき初めてformidableが任意のコード実行に対して脆弱であったことを証明したことになります。

提案: 最もシンプルな視覚的デモは、サーバーを起動したコンソールに、例えば「私はすごい、任意のコードを実行できた」という文字列を出力させることでしょう。

ツールをダウンロード