OWASP Juice Shop は、脆弱性をわざと仕込んだジュース屋さんのネットショップです。自分のパソコンの中で動かすので、攻撃の練習をしても誰にも迷惑がかかりません。
公式の説明では、OWASP Top 10 の全分野に加えて、実際のアプリで見つかった多くの欠陥を含んでいます。研修やデモ、CTF、診断ツールの試し撃ちの相手として作られています。
この記事は、Web の脆弱性を手を動かして学びたい人に向けています。読み終えると、次のことができるようになります。
Juice Shop でできること
- チャレンジ:アプリの中に隠れた脆弱性を見つけて突くと、課題が解けたことになります。難しさは星 1〜6 で表されます。
- スコアボード:全チャレンジの一覧と、解いた数を表示します。スコアボードの場所を探すこと自体が最初の課題の 1 つです。
- Hacking Instructor:一部のチャレンジに、画面上で手順を案内するチュートリアルが付いています。
- 診断ツールの練習:ZAP のアクティブスキャンや Nuclei のテンプレートを、本番のサイトを傷つけずに試せます。
安全な試し方:Docker で起動する
-
Docker をインストールします。
-
次のコマンドでイメージを取得します。
docker pull bkimminich/juice-shop -
次のコマンドで起動します。
127.0.0.1:3000:3000と書くことで、自分のパソコンからしか開けなくなります。docker run --rm -p 127.0.0.1:3000:3000 bkimminich/juice-shop -
ブラウザで
http://localhost:3000を開きます。 -
止めるときは、別の画面で
docker psを実行してコンテナ ID を調べ、docker stop <コンテナ ID>を実行します。--rmを付けたので、止めるとコンテナは消えます。
主な起動方法
| 方法 | 手順の概要 | 向いている人 |
|---|---|---|
| Docker | 上の手順のとおり | まず試したい人 |
| ソースから | Node.js を入れ、git clone の後に npm install と npm start |
コードも読みたい人 |
| 配布パッケージ | GitHub のリリースから OS 用の zip を入手し、展開して npm start |
Docker を使えない人 |
ソースや配布パッケージで動かすときは Node.js が必要です。公式ガイドでは 22.x、24.x、26.x が正式な対応版です。
ZAP と組み合わせる
Juice Shop を起動したまま ZAP を開き、Quick Start の URL to attack に http://localhost:3000 を入れて試します。詳しい手順は ZAP の記事にあります。アクティブスキャンでデータが壊れても、コンテナを起動し直せば元に戻ります。
注意点
- インターネットから見える場所に置かないでください。わざと脆弱なので、他人に乗っ取られます。Docker で動かすときは、上の手順のように
127.0.0.1に限って公開します。 - 本物のパスワードや個人情報を入力しないでください。
- 設定項目
safetyModeは、コンテナ環境で害が出うる一部のチャレンジを止める仕組みです。公式ガイドは、意味を理解したうえで自己責任で変えるよう書いています。 - Juice Shop で覚えた手口を、許可のない他人のサイトに使わないでください。
次に読む
出典
- 公式リポジトリ(juice-shop/juice-shop)github.com/juice-shop/juice-shop
- 公式ガイド「Pwning OWASP Juice Shop」:起動方法pwning.owasp-juice.shop/companion-guide/latest/part1/running.html
- 公式ガイド:チャレンジとスコアボードpwning.owasp-juice.shop/companion-guide/latest/part1/challenges.html
- 公式ガイド:設定のカスタマイズ(safetyMode)pwning.owasp-juice.shop/companion-guide/latest/part4/customization.html
確認日 2026-10-24
似たツール
Nuclei
影響範囲 相手に実害YAML のテンプレートに書かれた手順どおりにリクエストを送り、既知の脆弱性や設定ミスを調べるコマンドラインのスキャナ。
- 用途
- 診断・監査
- 形式
- コマンドライン
- 難易度
- 中級
- ライセンス
- 自由に使えるMIT
- 分類
- 脆弱性スキャン/Web セキュリティ
ZAP
影響範囲 相手に実害ブラウザと Web アプリの間に入って通信を記録し、脆弱性を探す無料の Web アプリ診断ツール。旧称 OWASP ZAP、現在は ZAP by Checkmarx。
- 用途
- 診断・監査
- 形式
- デスクトップアプリ
- 難易度
- 中級
- ライセンス
- 自由に使えるApache-2.0
- 分類
- Web セキュリティ/脆弱性スキャン