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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
vucsa — 意図的に脆弱なクライアント・サーバーアプリケーションで、非HTTPのシッククライアントのペネトレーションテストを学ぶためのものです。SQLインジェクション、RCE、XML攻撃、バッファオーバーリード、アクセス制御の脆弱性に関するチャレンジが含まれています。 | Kitploit
ツール/GitHubGitHub/warxim/vucsa
脆弱性分析ウェブアプリケーション悪用CTFペネトレーションテスト学習と教育バイナリエクスプロイト
GitHubwarxim/vucsa

vucsa

意図的に脆弱なクライアント・サーバーアプリケーションで、非HTTPのシッククライアントのペネトレーションテストを学ぶためのものです。SQLインジェクション、RCE、XML攻撃、バッファオーバーリード、アクセス制御の脆弱性に関するチャレンジが含まれています。

リポジトリを見る
101282年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

脆弱なクライアント-サーバーアプリケーション (VuCSA)

脆弱なクライアント-サーバーアプリケーション (VuCSA)

脆弱なクライアント-サーバーアプリケーション (VuCSA) は、非HTTPのクライアント-サーバーアプリケーションに対するペネトレーションテストの方法を学習・説明するために作られています。 Java(JavaFX グラフィカルユーザーインターフェース)で書かれています。

現在、この脆弱なアプリケーションには以下のチャレンジが含まれています:

  1. バッファオーバーリード(シミュレーション)
  2. コマンド実行
  3. SQLインジェクション
  4. 列挙
  5. XML
  6. 水平アクセス制御
  7. 垂直アクセス制御
  8. RCE デシリアライゼーション

これらのチャレンジの解き方を知りたい場合は、PETEP ウェブサイトを参照してください。このサイトでは、オープンソースツール PETEP を使用してそれらを悪用する方法が説明されています。

ヒント 1: ハッキングを始める前に、以下のメッセージのデータ構造を必ず確認してください。ネットワークトラフィックを変更する際には、特にペイロード長のバイトを考慮する必要があります。

ヒント 2: ほとんどのチャレンジは、ネットワークトラフィックの変更を通じて悪用できます。そのため、テストには TCP プロキシまたはプロセスフックの使用が推奨されます。

ヒント 3: 一部のチャレンジでは、入力検証と制限が設定されています。これはシッククライアントでは一般的ですが、サーバーが同じ検証を使用しているとは限りません。

バッファオーバーリード(シミュレーション)の脆弱性

このチャレンジの目標は、クライアントとサーバー間のネットワークトラフィックを操作して、バッファオーバーリードを引き起こすことです。

コマンド実行の脆弱性

コマンド実行チャレンジは、非常に単純なコマンド実行の脆弱性を表しています。目標は、サーバー上で悪意のあるコマンドを実行することです。

SQLインジェクションの脆弱性

SQLインジェクションチャレンジには、SQLインジェクションに対して脆弱な検索入力が含まれています。しかし、すぐに気づくでしょうが、その入力では必要な文字を入力することはできません。

列挙の脆弱性

列挙チャレンジは、列挙から保護されていないシミュレートされたログインフォームに基づいています。5人のユーザー全員を見つけて、そのパスワードを推測できますか?

XML の脆弱性

このチャレンジでは、複数の XML の脆弱性を見つけることができます:

  • XML 外部実体攻撃(XXE インジェクション)
  • XInclude 攻撃
  • XML 爆弾攻撃

水平アクセス制御の脆弱性

水平アクセス制御チャレンジは、ユーザーが自分のドキュメントを表示し、その内容を読むことができるドキュメントリーダーを表しています。目標は、他のユーザーのドキュメントを5つ見つけることです。

垂直アクセス制御の脆弱性

垂直アクセス制御チャレンジは、ユーザーの基本情報を表示するシミュレートされたユーザーパネルに基づいています。目標は、隠された管理者機能を見つけ、ゲストユーザーとしてそれを使用できるかどうかを確認することです。

RCE デシリアライゼーションの脆弱性

RCE デシリアライゼーションの脆弱性は、ネットワーク経由でデータを送信するために Java のデシリアライゼーション/シリアライゼーションを使用します。アプリケーションには、脆弱な Java デシリアライゼーションを通じてリモートコード実行を達成するために使用できる2つのパスがあります。

サーバーの JAR ファイルを調べるか、ソースコードを確認することで、両方のパスを見つけることができます。

目標は、両方のパスに対するエクスプロイトを作成し、サーバー上で悪意のあるコマンドを実行することです。

ヒント: エクスプロイトの作成を容易にするために、サーバー JAR をライブラリとして使用できます。

必要条件

Java 11 以上が必要です。

注記: ARM64 アーキテクチャ(M1、M2 チップ)の Mac の場合は、Java 17 用の特別なビルドを使用してください。

実行方法

脆弱なサーバーとクライアントを実行するには、GitHub のリリースのいずれかを使用するか、gradle assemble を実行して配布パッケージ(Windows および Unix の両方)を作成できます。これらのパッケージには、JVM を使用してサーバーとクライアントを実行する sh/bat スクリプトが含まれています。

root@kitploit:~
# Linux / Mac
chmod +x client.sh server.sh
./client.sh
./server.sh

# Windows
client.bat
server.bat

注記: これらの実行スクリプトには、Java 実行可能ファイルへのパスを含む便利な変数が含まれています。Java が PATH にない場合や、複数の Java バージョンを使用している場合は、変更する必要があるかもしれません。

実行設定

サーバー設定は、存在しない場合は自動的に作成され、その後、サーバーが実行されている同じディレクトリにある server.json から読み込まれます:

root@kitploit:~
{
  "network": {
    "serverHost": "0.0.0.0",
    "serverPort": 8765
  }
}

クライアント設定は、実行中のアプリケーションで指定できます。

プロジェクト構造

プロジェクトは3つのモジュールに分かれています:

  • vucsa-common - クライアントとサーバーの両方に共通の機能(プロトコル処理ユーティリティを含む)
  • vucsa-client - JavaFX GUI を備えた脆弱なクライアント
  • vucsa-server - ターミナル用の脆弱なサーバー

データ構造

サーバーとクライアント間で送信されるメッセージは、以下の単純な形式を持っています:

root@kitploit:~
[タイプ][ターゲット][長さ][ペイロード]
  32b    32b     32b     ???

これらの4つの部分は以下の意味を持っています:

  • タイプ - メッセージの種類(シリアライゼーション/デシリアライゼーションに使用されます)
  • ターゲット - メッセージを受け取るターゲットハンドラ(識別子)
  • 長さ - ペイロードの長さ
  • ペイロード - バイトにシリアライズされたデータ

カスタムペイロードを送信するには、ペイロードの長さを更新する必要があるかもしれません。そうしないと、正しく動作しません。チュートリアルでは、ペイロード長のバイトを自動修正するスクリプトが開発されています。

チュートリアル(解決策)

脆弱なクライアント-サーバーアプリケーション(VuCSA)には複数の脆弱性が含まれており、さまざまな方法で悪用できます。これらの脆弱性を悪用するための公式ガイドでは、オープンソースの PEnetration TEsting Proxy(PETEP 方法論を参照)を使用しています。

PETEP 方法論では、有用なペイロードを含め、チャレンジを悪用する全プロセスが説明されています。

ツールをダウンロード