🧑‍💻

【TryHackMe】OWASP Juice Shop 攻略記録

に公開

【TryHackMe】OWASP Juice Shop 攻略記録

概要

この投稿は TryHackMe の OWASP Juice Shop ルームの攻略記録です。
このルームでは、OWASP Top 10 の脆弱性に対する理解を深めることを目的として、脆弱な Web アプリケーション「Juice Shop」を対象に演習を行います。
難易度は easy、推定所要時間は 60~90 分程度です。

項目 内容
ルーム名 OWASP Juice Shop
プラットフォーム TryHackMe
難易度 easy
所要時間 60〜90分
使用技術 Burp Suite, Web, SQLi, XSS, Auth, Access Control

学習目標と目的

  • OWASP Top 10 に含まれる主要な脆弱性の仕組みと再現方法を学ぶ
  • Burp Suite を活用したリクエスト操作の技術を習得する
  • 認証バイパス、情報漏洩、アクセス制御不備などの実践的な脆弱性を体験する
  • Webアプリケーションにおけるセキュリティ意識を高める

攻略の流れ

Task 1: Open for Business!

  • 仮想マシンを起動し、ブラウザでアクセス。
  • タスクの説明を読み「Complete」ボタンを押す。

❓質問と回答

Q1. Deploy the VM attached to this task to get started! You can access this machine by using your browser-based machine, or if you're connected through OpenVPN.
A1. No answer needed

Q2. Once the machine has loaded, access it by copying and pasting its IP into your browser; if you're using the browser-based machine, paste the machines IP into a browser on that machine.
A2. No answer needed


Task 2: Walk Through the Application

  • 商品ページなどをブラウジングし、構造や機能を確認。
  • 検索バーやレビュー欄、ユーザー情報などの情報を収集。

❓質問と回答

Q1. What's the Administrator's email address?
A1. admin@juice-sh.op

Q2. What parameter is used for searching?
A2. q

Q3. What show does Jim reference in his review?
A3. Star Trek


Task 3: Inject the Juice(SQL Injection)

  • Burp Suite でリクエストをインターセプト。
  • admin@juice-sh.op' or 1=1 -- を使ってSQLiログイン成功。
"email": "admin@juice-sh.op' or 1=1 --"
  • 同様に bender@juice-sh.op' -- で別アカウントにもログイン可能。

❓質問と回答

Q1. Log into the administrator account!
A1. SQLiでログイン成功すればOK

Q2. Log into the Bender account!
A2. 同様のSQLiでログイン可能(メール: bender@juice-sh.op


Task 4: Who Broke My Lock?!

  • Burp Suite の Intruder を使ってログインパスワードをブルートフォース
  • Jim のアカウントはセキュリティ質問を Google で調査し「Samuel」で突破

❓質問と回答

Q1. Bruteforce the Administrator account's password!
A1. admin

Q2. Reset Jim’s password!
A2. Samuel


Task 5: AH! Don't look!

  • /ftp/package.json.bak%00.md にアクセスし、バックアップファイルを入手
  • JSONファイル内に認証情報(MC SafeSearch のアカウント)を発見
/ftp/package.json.bak%00.md
"email": "mc.safesearch@juice-sh.op",
"password": "Mr. N00dles"

❓質問と回答

Q1. Find an exposed secret!
A1. Mr. N00dles

Q2. Log into MC SafeSearch's account!
A2. mc.safesearch@juice-sh.op / Mr. N00dles

Q3. Download the Backup file!
A3. /ftp/package.json.bak%00.md


Task 6: Who's flying this thing?

  • /administration にアクセスして管理画面を開く
  • 他人のバスケット情報を REST API 経由で直接参照(例:/rest/basket/2
  • 管理画面で任意の 5 スター レビューを削除

❓質問と回答

Q1. Access the administration page!
A1. /administration

Q2. View another user's shopping basket!
A2. /rest/basket/2

Q3. Remove all 5-star reviews!
A3. 管理画面の Review セクションで削除操作


Task 7: Where did that come from?

  • DOM型 XSS:<iframe src="javascript:alert('xss')"> のように、DOM操作を通じてスクリプトを実行。
  • 永続型(Stored)XSS:アカウント設定ページの「Last Login IP」欄に <script>alert('xss')</script> を入力。
  • 反射型(Reflected)XSS:検索やリンクに含まれるパラメータを利用してスクリプトを即座に実行。

❓質問と回答

Q1. Perform a DOM XSS!
A1. <iframe src="javascript:alert('xss')">

Q2. Perform a persistent XSS!
A2. <script>alert('xss')</script>

Q3. Perform a reflected XSS!
A3. /#/search?q=<script>alert('xss')</script>


Task 8: Exploration!

  • サイドメニューの「Score Board」ページにアクセス
  • 完了済みのチャレンジ一覧を確認できる

❓質問と回答

Q1. View the scoreboard!
A1. /#/score-board


使用ツール

ツール 用途
Burp Suite リクエスト改変、Intruder、Proxy
Firefox + FoxyProxy Burp連携のブラウザ操作
Google セキュリティ質問の調査
Juice Shop 攻撃対象の脆弱なWebアプリケーション

振り返りと感想

OWASP Juice Shop は非常に教育的でありながら、楽しく脆弱性の本質を体感できる良い教材でした。特に、SQLインジェクションやXSS、Broken Access Control などを実際に再現できたことは大きな収穫です。


参考リンク


Discussion