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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/ztrxwzy/joomla.3.7.0exploit
脆弱性分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテスト
GitHubztrxwzy/joomla.3.7.0exploit

joomla.3.7.0exploit

Joomla 3.7.0 の com_fields SQL インジェクションの脆弱性(CVE-2017-8917)に対する概念実証(PoC)エクスプロイトであり、CTF 向けのワークフローで検出、列挙、データ抽出を実演します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2017-8917 Joomla SQLi PoC

このリポジトリには、Joomla の com_fields SQL インジェクション脆弱性(CVE-2017-8917)に対する、シンプルで CTF 向けの概念実証(PoC)コードが含まれています。目標は、ワークフローを軽量に保ちつつ、検出、列挙、データ抽出という完全なエクスプロイトの流れを示すことです。

CVE-2017-8917 概要

脆弱性: Joomla の com_fields コンポーネントにおける SQL インジェクション。

根本原因: list[fullordering] パラメータが適切にサニタイズされておらず、生成されたクエリに SQL を注入できる状態になっています。エラーベースのペイロード(例: UpdateXML)を使うと、SQL の結果をレスポンスに表示させ、データ抽出が可能になります。

攻撃方法(概要):

  1. list[fullordering] パラメータに悪意のあるペイロードを設定して、index.php?option=com_fields&view=fields&layout=modal に細工したリクエストを送信します。
  2. エラーベースの関数(UpdateXML など)を使用して、データベースに結果を出力させます。
  3. レスポンス(この PoC では <title> タグ)を解析して、注入した出力を抽出します。
  • クエリを繰り返して、バージョン、データベース名、テーブル、カラム、行を列挙します。
  • 主要なコードパス

    以下が最も重要なコンポーネントです。

    parse_args()

    CLI 引数を解析し、host と debug を持つ単純な args オブジェクトに変換します。このスクリプトはポート 80 の HTTP を前提とし、--host からベース URL を構築します。

    run_exploit()

    run_exploit() はメインのオーケストレーション関数です:

    • セッション処理: Cookie とヘッダーが維持されるように requests.Session() を使用します。
    • request_title(): リクエストを送信し、<title> の値を抽出します。この PoC はエラーベースの SQLi を使用してデータをそのタグに漏えいさせるため、これがデータ抽出の核となります。
    • build_params(): 注入された SQL を含む脆弱なリクエストパラメータを作成します。
    • 完全なフロー: プローブ → 列挙 → ダンプ。
    • 列挙/ダンプメソッド: sql_list() と dump_table() が列挙と分割抽出を自動化します。

    _fetch_token()

    CSRF トークンは Joomla のログインページから抽出されます。一部のシナリオでは不要かもしれませんが、多くの Joomla ルートでは依然として CSRF チェックが強制されます。これを含める利点:

    • より厳格な設定に対する信頼性が向上します。
    • PoC を「最も現実的」にします。
    • ログインフローやトークンチェックが強制されている場合でも、スクリプトを再利用できます。

    wrap_payload() と encode_sql_string()

    これらのヘルパーは、実際の注入ペイロードを生成します:

    • wrap_payload() は生のクエリを UpdateXML(...) でラップし、エラーベースの出力を強制します。
    • encode_sql_string() は文字列を CHAR(...) 式に変換して、クォーティングの問題を回避します。

    分割抽出(_dump_table())

    行は区切り文字で連結され、切り詰めを避けるために部分文字列として取得されます。これにより、行の値が長い場合でも出力の一貫性が保たれます。

    使用方法

    root@kitploit:~
    python main.py --host <TARGET_IP>
    

    オプションのデバッグ出力:

    root@kitploit:~
    python main.py --host <TARGET_IP> --debug
    

    期待される出力(この欄を埋めてください)

    root@kitploit:~
    └─$ python exploit.py --host <TARGET>
    
                             ]LLLLLLmmmmmLLLLLL[
                             ]LLLLLLLLLLLLLLLLL[
                             ]LLLLLLLLLLLLLLLLL[
                             ]LLLLLLLLLLLLLLLLL[
                             ]LLLLLLLLLLLLLLLLL[
             ms.             ]LLLLLLLLLLLLLLLLL[              ,m
            ]LLLLs.          ]LLLLLLLL~+LLLLLLL[           _gLLLL
            LLLLLLLL_.        LLLLLLLL  ~~\LLLL[        ,gLLLLLLLi
           dLLLLLLLLLLm_     -LLLLLLLo      LLL[      _mLLLLLLLLLL.
          iLLLLLLLLLLLLLLs.  ]LLf` ,  'c    LLL[   ,gLLLLLLLLLLLLLL
         iLLLLLLLLLLLLLLLLLLsgL`   'c-  \.    LLLLLLLLLLLLLLLLLLLLLL
        ,LLLLLLLLLLLLLLLLLLLLL!      =__/Li  iLLLLLLLLLLLLLLLLLLLLLLL
       gLLLLLLLLLLLLLLLLLLLLLL    imm_.Y~'`  LLLLLLLLLLLLLLLLLLLLLLLLL.
      dLLLLLLLLLLLLLLLLLLLLLLL     'LL_     dLLLLLLLLLLLLLLLLLLLLLLLLLLi
    ,LLLLLLLLLLLLLLLLLLLLLLLLLi        ~--__LLLLLLLLLLLLLLLLLLLLLLLLLLLLs
    'LLLLLLLLLLLLLLLLLLLLLLLLLLs.          LLLLLLLLLLLLLLLLLLLLLLLLLLLLL~
       'LLLLLLLLLLLLLLLLLLLLLLLLLL_.         LLLLLLLLLLLLLLLLLLLLLLLLf
          'LLLLLLLLLLLLLLLLLLLLLLLLLLm_       'LLLLLLLLLLLLLLLLLLLf`
             'LLLLLLLLLLLLLLLLLLLLLLLL'Lm_      LLLLLLLLLLLLLLLL`
                LLLLLLLLLLLLLLLLLLLLLL  'LL     LLLLLLLLLLLLLf
                 'LLLLLLLLLLLLLLLLLLL    L     LLLLLLLLLLL~
                   _LLLLLLLLLLLLLLL  !i   ]   ,LLLLLLLLLLLs.
               gLLLLLLLLLLLLLLLLL!   's  [ _mLLLLLLLLLLLLLLLLLs
             gmLLLLLLLLLLLLLLLLLLL      ~eLLLLLLLLLLLLLLLLLLLLLms
          _gLLLLLLLLLLLLLLLLLLLLLL.       'LLLLLLLLLLLLLLLLLLLLLLLs_
       _gLLLLLLLLLLLLLLLLLLLLLLLLLL_        !LLLLLLLLLLLLLLLLLLLLLLLLs.
    ,gLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLm_       YLLLLLLLLLLLLLLLLLLLLLLLLLms
     LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLs    ]LLLLLLLLLLLLLLLLLLLLLLLLLL`
      'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 'YL   ]LLLLLLLLLLLLLLLLLLLLLLLLf
       'LLLLLLLLLLLLLLLLLLLLLLLLLLLf`!   f  ,LLLLLLLLLLLLLLLLLLLLLLLL!
        'LLLLLLLLLLLLLLLLLLLLLLLLL[      LmmLLLLLLLLLLLLLLLLLLLLLLLL`
          LLLLLLLLLLLLLLLLLf  LLLLi   t  LLLLLLL  LLLLLLLLLLLLLLLLL!
          'LLLLLLLLLLLLLf     LLLL[    '*LLLLLLL    'LLLLLLLLLLLLL[
           !LLLLLLLLLf`       LLLLLs     'YLLLLL       ~LLLLLLLLLL
            LLLLLLf~          LLLLLLLs     LLLLL          ~LLLLLL`
            'LLL~             LLLLLLLLLm  iLLLLL             ~LLL~
             ~`               LLLLLLLL[LLmLLLLLL               '`
                              LLLLLL`d[ LLLLLLLL
                              LLLLLLdL[ LLLLLLLL
                              LLLLLLLLLLLLLLLLLL    Juergen Jakubowski
                              LLLLLLLLLLLLLLLLLL
                              LLLLLLLLLLLLLLLLLL   [email protected]
    
                              EXPLOIT BY ztrxwzy. 
                  INSPIRED BY THE POC FROM Baptiste Contreras.
        
    [888] Target : http://10.66.187.202:80/index.php
    [888] CSRF token : 3ec54b1b32b5dc2dd8186537821b8dc1
    [888] http://10.66.187.202:80/index.php is vulnerable to SQLi
    [888] Database version detected : 5.5.64-MariaDB
    [888] Current database : joomla
    [888] Tables in database joomla
    
    

    クレジットと作者

    • 作者: ztrxwzy
    • 着想の源: この PoC の一部は Baptiste Contreras の作品に触発されています:
      https://github.com/BaptisteContreras/CVE-2017-8917-Joomla

    ライセンス

    MIT ライセンス Copyright (c) 2025 Jesús Caldera

    ここに、以下の条件に従う限り、本ソフトウェアおよび関連文書ファイル(以下「本ソフトウェア」)の複製を取得するすべての人に対し、本ソフトウェアを無償で扱うことを許可します。これには、使用、複製、修正、結合、公開、頒布、サブライセンス、および/または本ソフトウェアの複製の販売が含まれますが、これに限定されません。また、本ソフトウェアを提供されたすべての人が上記の行為を行うことを許可します。ただし、以下の条件を遵守することを条件とします。

    上記の著作権表示および本許可表示は、本ソフトウェアのすべての複製または重要な部分に含めなければなりません。

    本ソフトウェアは「現状のまま」で提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害に関する保証を含め、いかなる種類の保証も行われません。いかなる場合も、著作者または著作権保持者は、契約、不法行為、その他の行為によるかどうかを問わず、本ソフトウェアまたは本ソフトウェアの使用もしくはその他の取引に起因または関連して生じたいかなる請求、損害、その他の責任も負いません。

    ツールをダウンロード