Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2019-3396 — Confluence 未認可テンプレートインジェクション | Kitploit
ツール/GitHubGitHub/petrusviet/cve-2019-3396
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHubpetrusviet/cve-2019-3396

cve-2019-3396

Confluence 未認可テンプレートインジェクション

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Confluence の未認証テンプレートインジェクション (CVE-2019-3396)

I) ビルド

  • このバグは以下のバージョンで発生します:
    • 1.x.x, 2.x.x, 3.x.x, 4.x.x, 5.x.x のすべてのバージョン
    • 6.0.x, 6.1.x, 6.2.x, 6.3.x, 6.4.x, 6.5.x のすべてのバージョン
    • 6.6.12 より前の 6.6.x のすべてのバージョン
    • 6.7.x, 6.8.x, 6.9.x, 6.10.x, 6.11.x のすべてのバージョン
    • 6.12.3 より前の 6.12.x のすべてのバージョン
    • 6.13.3 より前の 6.13.x のすべてのバージョン
    • 6.14.2 より前の 6.14.x のすべてのバージョン
  • ソースコードをダウンロードした後、以下の作業が必要です:
    • ./confluence/WEB-INF/classes/confluence-init.properties ファイル内の confluence.home の値を Confluence ホームのパスに変更します
    • リモートデバッグモードで実行するために CATALINA_OPTS を追加します

Windows の場合、./bin/setenv.bat ファイル:

set CATALINA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

Linux の場合、./bin/setenv.sh ファイル:

CATALINA_OPTS="-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 ${CATALINA_OPTS}"  
  • IDE (IntelliJ) で、デバッグ構成として Remote JVM Debug を作成し、host と port を localhost:5005 に設定し、Command line arguments for remote JVM を以下のように設定します:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
  • PostgreSQL をデータベースとして使用する場合:
$ su - postgres
postgres@ubuntu:~$ psql -U postgres
postgres@ubuntu:~$ psql -U postgres
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.
 
postgres=# CREATE USER wiki WITH PASSWORD 'wiki';
CREATE ROLE
postgres=# CREATE DATABASE wiki OWNER wiki;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jira TO wiki;
GRANT
  • デバッグ時に必要なソースを表示するために、以下の jar を lib に追加する必要があります: ./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar、./confluence/WEB-INF/lib/confluence-x.x.x.jar、./confluence/WEB-INF/lib/velocity-x.x.x-atlassian-x.jar

  • ./bin/start-confluence.bat を実行します。ソースからインストールする場合は、このガイド も参照してください。

II) 分析

  • 説明を読んだ後、このバグが Widget Connector 機能から始まることがわかるので、すぐに Google でこの機能が何であるか、そしてどのように使用するかを調べました:

    2 ページを編集します

    3
    その他のマクロを選択

    4 Widget connector を選択

    image

  • 適当にパラメータを選択してプレビューをクリックし、その後 Burp に切り替えて何か面白いものがないか確認しました。 image

  • このパケットの中で、"pluginKey":"com.atlassian.confluence.extra.widgetconnector" というパラメータを見つけました。したがって、Widget Connector 機能がクラス com.atlassian.confluence.extra.widgetconnector で定義されていると推測し、パス内で怪しい jar パッケージを探しました。

image

  • ソースコードを読んでデバッグできるように、./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar をプロジェクトの lib に追加してみました。

    1
    jar ファイルを lib に追加する方法

  • widgetconnector パッケージを開くと、WidgetMacro クラスに興味を持ったので、このクラスのコンストラクタと execute メソッドにブレークポイントを設定し、Preview 機能を使用したときにこのクラスが呼び出されるかどうかを確認しました 🕵️

    • image
    • execute メソッドが呼び出され、その後プログラムは DefaultRenderManager.getEmbeddedHtml を呼び出します。
    • image
ツールをダウンロード