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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Ghostcat-Tomcat-AJP-Exploit-Py3 — 完全にリファクタリングされ、Python 3 互換の Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) AJP ローカルファイルインクルージョン用エクスプロイトスクリプト | Kitploit
ツール/GitHubGitHub/si1ence90/ghostcat-tomcat-ajp-exploit-py3
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト学習と教育
GitHubsi1ence90/ghostcat-tomcat-ajp-exploit-py3

Ghostcat-Tomcat-AJP-Exploit-Py3

完全にリファクタリングされ、Python 3 互換の Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) AJP ローカルファイルインクルージョン用エクスプロイトスクリプト

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) 脆弱性検出ツール

概要

本プロジェクトは、Apache Tomcat AJP プロトコルのローカルファイルインクルージョン脆弱性(通称 Ghostcat、CVE-2020-1938 / CNVD-2020-10487)を検証するための Python 検証スクリプトを提供します。

このスクリプトは、最初に流布された Python 2 バージョンをベースに全面的にリファクタリングおよび修正を加え、Python 3 環境に完全対応しています。StringIO、base64 エンコーディング、およびバイナリデータと文字列の連結における互換性問題を修正し、最新のオペレーティングシステム上での安定性を向上させています。

脆弱性の原理

Apache Tomcat が AJP(Apache JServ Protocol)プロトコルを処理する際、デフォルトで 8009 ポートが開放されており、受信したリクエスト属性に対する厳格なセキュリティ検証が行われません。攻撃者は細工された AJP リクエストを構築し、javax.servlet.include.request_uri、javax.servlet.include.path_info、javax.servlet.include.servlet_path などの属性を注入することで、以下の攻撃が可能になります:

  1. 任意ファイル読み取り (LFI):DefaultServlet を騙し、Web アプリケーションディレクトリ内の任意のファイル(例:、設定ファイルなど)を読み取ります。
WEB-INF/web.xml
  • リモートコード実行 (RCE):対象サーバーにファイルアップロード脆弱性が存在する場合、攻撃者はまず悪意のある JSP コードを含む通常のファイル(txt、png など)をアップロードし、その後この AJP 脆弱性を利用して JspServlet にそのファイルを強制的に JSP として解析・コンパイルさせることで、リモートコマンド実行を実現します。
  • 注:本脆弱性はローカルファイルインクルージョン(LFI)のみサポートし、直接的なリモートファイルインクルージョン(RFI)はサポートしていません。

    環境要件

    • Python 3.6+
    • Python 標準ライブラリのみ使用し、追加でサードパーティ依存パッケージのインストールは不要です。

    使用方法

    コマンドライン構文:

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py <対象IP> [-p 対象ポート] [-f 対象ファイルパス]
    

    パラメータ説明:

    • target (必須): 対象ホストの IP アドレスまたはドメイン名。
    • -p, --port (オプション): AJP ポート、デフォルトは 8009。
    • -f, --file (オプション): 読み取りたい対象ファイルの相対パス、デフォルトは WEB-INF/web.xml。

    使用例:

    1. 基本検出(デフォルトの web.xml を読み取り):

      root@kitploit:~
      python CNVD-2020-10487-Tomcat-Ajp-lfi.py 127.0.0.1
      
    2. ポートとファイルの指定(カスタム設定ファイルを読み取り):

      root@kitploit:~
      python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.1.100 -p 8009 -f WEB-INF/classes/application.properties
      

    修正と防御

    対象のシステムがこの脆弱性の影響を受ける場合、以下の防御措置を直ちに実施することを推奨します:

    1. Tomcat のアップグレード:公式がリリースしたセキュリティバージョン(9.0.31、8.5.51、7.0.100 以降)に更新してください。
    2. AJP サービスの無効化:業務環境で AJP プロトコルによるリバースプロキシクラスタ通信が不要な場合は、conf/server.xml 内の <Connector port="8009" protocol="AJP/1.3" ... /> 設定をコメントアウトまたは削除してください。
    3. AJP 認証の強化:AJP サービスを有効にする必要がある場合は、AJP Connector に requiredSecret(Tomcat 8.5.51/9.0.31 以降では secret)属性を追加し、強制的に認証を行ってください。

    免責事項

    本スクリプトはサイバーセキュリティ研究、教育、および企業内部でのコンプライアンスに基づくセキュリティ監査専用です。 許可されていない対象に対して本スクリプトを使用した不正な探索や攻撃を行わないでください。使用者は本スクリプトを使用する際に現地の法令を遵守しなければならず、不適切な使用または違法な使用によって生じた一切の結果は使用者自身が負うものとします。

    ツールをダウンロード