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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
web-hacking-playground — 実際のケース(ペネトレーションテストやBug Bountyプログラム)で見つかった脆弱性を含むWebアプリケーション。 | Kitploit
ツール/GitHubGitHub/takito1812/web-hacking-playground
脆弱性分析ウェブアプリケーション悪用ウェブセキュリティCTFペネトレーションテスト学習と教育ラボと実践
GitHubtakito1812/web-hacking-playground

web-hacking-playground

実際のケース(ペネトレーションテストやBug Bountyプログラム)で見つかった脆弱性を含むWebアプリケーション。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Web Hacking Playground

説明

Web Hacking Playgroundは、制御されたWebハッキング環境です。実際のペンテストやBug Bountyプログラムで見つかった脆弱性で構成されています。目的は、ユーザーがそれらを練習し、検出および悪用する方法を学ぶことです。

また、カスタムペイロードを作成してフィルターをバイパスする方法、さまざまな脆弱性を悪用した連鎖攻撃の実行、概念実証スクリプトの開発など、その他の関心事項も扱います。

重要

アプリケーションのソースコードは表示可能です。ただし、ラボのアプローチはブラックボックス型です。したがって、チャレンジを解決するためにコードを確認すべきではありません。

また、ファジング(パラメータとディレクトリの両方)やブルートフォース攻撃は、このラボでは利点をもたらさないことに注意してください。

セットアップ

このラボを実行するには、Kali Linux を使用することをお勧めします。仮想マシンを使用する場合は、VMware Workstation Player ハイパーバイザーを使用することを推奨します。

環境はDockerとDocker Composeに基づいているため、両方がインストールされている必要があります。

Kali LinuxにDockerをインストールするには、次のコマンドを実行します。

root@kitploit:~
sudo apt update -y
sudo apt install -y docker.io
sudo systemctl enable docker --now

他のDebianベースのディストリビューションにDockerをインストールするには、次のコマンドを実行します。

root@kitploit:~
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now

Docker Composeをインストールするには、次のコマンドを実行します。

root@kitploit:~
sudo apt install -y docker-compose

注意: M1を使用する場合は、イメージをビルドする前に次のコマンドを実行することをお勧めします。

root@kitploit:~
export DOCKER_DEFAULT_PLATFORM=linux/amd64

次のステップは、リポジトリをクローンしてDockerイメージをビルドすることです。

root@kitploit:~
git clone https://github.com/takito1812/web-hacking-playground.git
cd web-hacking-playground
sudo docker-compose build

また、Foxy Proxy ブラウザ拡張機能(プロキシ設定を簡単に変更できる)と、HTTPリクエストをインターセプトするために使用する Burp Suite をインストールすることをお勧めします。

Foxy Proxyで新しいプロファイルを作成してBurp Suiteをプロキシとして使用します。これを行うには、Foxy Proxyのオプションに移動し、次の構成でプロキシを追加します。

  • プロキシタイプ: HTTP
  • プロキシIPアドレス: 127.0.0.1
  • ポート: 8080

デプロイ

必要なものがすべてインストールされたら、次のコマンドで環境をデプロイできます。

root@kitploit:~
git clone https://github.com/takito1812/web-hacking-playground.git
cd web-hacking-playground
sudo docker-compose up -d

これにより、ポート80でFlaskで開発された2つのアプリケーションコンテナが作成されます。

  • 脆弱なWebアプリケーション (Socially): ソーシャルネットワークをシミュレートします。
  • エクスプロイトサーバー: 脆弱性がないため、ハッキングを試みるべきではありません。目的は、被害者が悪意のあるリンクにアクセスする状況をシミュレートすることです。

重要

コンテナのIPを /etc/hosts ファイルに追加して、名前でアクセスできるようにし、エクスプロイトサーバーが脆弱なWebアプリケーションと通信できるようにする必要があります。これを行うには、次のコマンドを実行します。

root@kitploit:~
sudo sed -i '/whp-/d' /etc/hosts
echo "$(sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' whp-socially) whp-socially" | sudo tee -a /etc/hosts
echo "$(sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' whp-exploitserver) whp-exploitserver" | sudo tee -a /etc/hosts

これが完了すると、脆弱なアプリケーションには http://whp-socially からアクセスでき、エクスプロイトサーバーには http://whp-exploitserver からアクセスできます。

エクスプロイトサーバーを使用する場合は、上記のURLを使用し、IPではなくドメイン名を使用する必要があります。これにより、コンテナ間の正しい通信が保証されます。

ハッキングに関しては、攻撃者のサーバーを表すためにローカルのDocker IPを使用する必要があります。これは、ラボがBurp CollaboratorやInteractshなどの外部サーバーへのリクエストを行うことを意図していないためです。Python http.server を使用してWebサーバーをシミュレートし、HTTPインタラクションを受信できます。これを行うには、次のコマンドを実行します。

root@kitploit:~
sudo python3 -m http.server 80

ステージ

環境は3つのステージに分かれており、それぞれに異なる脆弱性があります。後のステージの脆弱性は前のステージの脆弱性に基づいているため、順番に行うことが重要です。ステージは次のとおりです。

  • ステージ1: 任意のユーザーとしてアクセス
  • ステージ2: 管理者としてアクセス
  • ステージ3: /flag ファイルを読み取る

重要

以下は、各ステージの脆弱性のネタバレです。ヘルプが必要ない場合は、このセクションをスキップできます。一方、どこから始めればよいかわからない場合や、正しい方向に進んでいるか確認したい場合は、該当するセクションを展開できます。

ステージ1: 任意のユーザーとしてアクセス

表示

このステージでは、クロスサイトスクリプティング(XSS)を介して特定のユーザーのセッションを盗むことができます。これにより、JavaScriptコードの実行が可能になります。これを行うには、被害者がユーザーのコンテキストでURLにアクセスできる必要があります。この動作はエクスプロイトサーバーでシミュレートできます。

このステージを解決するためのヒントは次のとおりです。

  • ホームページに目立つ投稿はありますか?
  • セッションを盗むには2つの脆弱性を連鎖させる必要があります。XSSは、被害者が外部URLにリダイレクトされるOpen Redirectの脆弱性を悪用することで達成されます。
  • Open Redirectにはいくつかのセキュリティ制限があります。それらを回避する方法を見つける必要があります。URLで許可されていない文字列を分析してください。
  • Cookieだけがセッション情報が保存される場所ではありません。アプリケーションに含まれるJavaScriptファイルのソースコードを確認すると、疑問が解消される可能性があります。

ステージ2: 管理者としてアクセス

表示

このステージでは、管理者としてアクセスできるトークンを生成できます。これは典型的なJSON Web Token(JWT)攻撃であり、トークンペイロードを変更して権限を昇格させることができます。

このステージを解決するためのヒントは、JWTを受け取ると有効なセッションCookieを返すエンドポイントが存在することです。

ステージ3: /flag ファイルを読み取る

表示

このステージでは、サーバーサイドテンプレートインジェクション(SSTI)の脆弱性を介して /flag ファイルを読み取ることができます。これを行うには、アプリケーションがサーバー上でPythonコードを実行させる必要があります。サーバー上でシステムコマンドを実行することが可能です。

このステージを解決するためのヒントは次のとおりです。

  • 脆弱な機能は二要素認証によって保護されています。したがって、SSTIを悪用する前に、OTPコードリクエストをバイパスする方法を見つける必要があります。アプリケーションが同じサーバーからのリクエストを信頼する場合があり、HTTPヘッダーがこの状況で重要な役割を果たします。

  • SSTIはブラインドです。つまり、サーバー上で実行されたコードの出力は直接取得されません。Pythonのsmtpdモジュールを使用すると、受信したメッセージを標準出力に出力するSMTPサーバーを作成できます。

    sudo python3 -m smtpd -n -c DebuggingServer 0.0.0.0:25

  • アプリケーションはFlaskを使用しているため、テンプレートエンジンはJinja2であると推測できます。これはFlaskの公式ドキュメントで推奨されており、広く使用されています。最終的なフラグを取得するには、Jinja2互換のペイロードを入手する必要があります。

  • メールメッセージには文字数の制限があります。この制限を回避する方法に関する情報はインターネットで見つけることができます。

解決策

各ステージの詳細な解決策は、Solutions フォルダにあります。

リソース

次のリソースは、ステージを解決するのに役立つ可能性があります。

  • Google
  • Twitter Advanced Search
  • HackTricks
  • PortSwigger Learning Materials
  • Payloads All The Things
  • Payload Box

コラボレーション

プルリクエストは歓迎します。バグを見つけた場合は、issueを開いてください。

ツールをダウンロード