OWASP Top10の脆弱性がつくりこまれたJuice ShopをテーマにしたRoom。
ネタバレ防止の為答えはなるべく直接書かないようにしてます。
Task 1 Open for business!
No Answer
Burp Suiteの準備をしておくようにって言われる
Task2 Let’s go on an adventure!
チュートリアルっぽい
Question #1: What’s the Administrator’s email address?
管理者のメールアドレスはアップルジュースのレビューを見ると載ってる。
Question #2: What parameter is used for searching?
検索につかうパラメータは検索してみるとわかる。
Question #3: What show does Jim reference in his review?
ジムさんのレビューで参照されている番組を調べるにはジムさんが買ってるグリーンスムージーのレビューを確認する
replicatorってなんだ?
なんとなくセキュリティ界隈ってスタートレックのネタ多くない?
Task3 Inject the juice
Question #1: Log into the administrator account!
管理者アカウントに不正ログインうする。
ログインページで
' or 1=1--
と入れるとSQLインジェクションが成立する
ユーザーIDが0の人にログインができる。(今回はそれが管理者アカウント)
Question #2: Log into the Bender account!
ベンダーアカウントに不正ログインする。
ログイン画面で
bender@juice-sh.op'--
と入れる
SQLインジェクションによりベンダーのメールアドレスのパスワードの判定が真になるのでベンダーアカウントにログインできる
Task4 Who broke my lock?!
Question #1: Bruteforce the Administrator account’s password!
管理者でログインできたんだからもうパスワードとか別によくないですか…?
と思いつつ。パスワードを特定するために、言われたままブルートフォースを行う(これも勉強)
右クリックしてIntruderに送る
Positionsに移動して[Clear]
emailのところを管理者のメアド(admin@juice-sh.op)に変更
passwordのところで[Add]を2回クリック
Payloadsに移動
[Load]をクリックしてパスワードのリストを選択
[Start attack]をクリック
結果を見ると117番目で1個だけ200が返ってきてるので、パスワードがわかる
Question #2: Reset Jim’s password!
スタートレックマニアのジムのひみつの質問の答えをOSINTせよとのこと。現実の世界でも結構ありそう、ひみつの質問って運用がほんと難しいよね…
パスワードリマインダの画面にジムのメールアドレスを入力すると
Your eldest siblings middle name?
あなたの一番上の兄弟のミドルネーム?ということなので
jim star trek eldest sibling
ってググると家系図っぽいものが出てくる。お兄さんの名前はSamuel Kirkとのこと
その情報を使ってジムのパスワードをリセットできる(ちなみに最初は大文字)
Task5 AH! Don’t look!
Question #1: Access the Confidential Document!
About USのページでリンクをクリックすると
http://ルームのIPアドレス/ftp/legal.md
にリンクが貼られているので、ファイル名を消して
http://ルームのIPアドレス/ftp/legal.md
Acquisitions.mdをダウンロードしてトップページに戻る
Question #2: Log into MC SafeSearch’s account!
After watching the video there are certain parts of the song that stand out.
ビデオのなかで目立っている特定の部分…?日本語あってる?
まずそのビデオがどこにあるのかわからないんですけど…どういうこと(꒪⌓꒪)
普通に問題文に答えが書いてあるのでそのままログインした
Question #3: Download the Backup file!
ダウンロードできるのは.mdファイルと.pdfファイルのみだけど。なぜかどうしてもpackage.json.bakをダウンロードしたいらしい。
urlの最後に
%2500.md
をつけるとバイパスできる。ダウンロードできるURLのチェックのしくみが、URLを後方から確認して%2500で終わるというしくみになっているから。
ちなみにこのタスクやるときにError Handlingのフラグが一緒にとれたけどなんだったんだろう。
Task6 Who’s flying this thing?
Question #1: Access the administration page!
管理者ページにアクセスしてみようって話。
Task4で判明しているパスワードを使ってadminでログインした状態で
http://ルームのIPアドレス/#/administration
Question #2: View another user’s shopping basket!
別のユーザーの買い物かごの中身を表示することができる脆弱性がある
adminでログインして、Burpを起動する
右上のYour Basketをクリックするときの通信をインターセプトして
GET /rest/basket/1 HTTP/1.1
を
GET /rest/basket/2 HTTP/1.1
に書き換えてForwerdする
Question #3: Remove all 5-star reviews!
5つ星のレビューを削除するといういやがらせ。なんたる悪行。
管理ページにもっかい入って管理画面の機能で普通にレビューを消すだけ。
Task7 Where did that come from?
Question #1: Perform a DOM XSS!
XSSを試す
検索ボックスにiframeを使ったXSSを入力して検索する
Question #2: Perform a persistent XSS!
最終ログインIPアドレスを記録するところにもXSSができる
ログアウトするときにIPアドレスを記録するので
ログアウト前にBurpを起動
ログアウトをクリックしてインターセプト
ヘッダに以下を追加
Question #3: Perform a reflected XSS!
注文履歴画面に反射型XSSの脆弱性がある
Orders & Payment> Order History
で履歴画面が表示される。トラックのアイコンをクリックするとアドレスバーのURLが表示されるのでそこを書き換える
Task8 Exploration!
スコアボード画面にアクセスする
http://ルームのIPアドレス/#/score-board
TryHackMeの通りにやると9%の進捗。
まださきは長い…