🍿

OWASP Juice Shop 解いた記録(⭐️)

に公開

はじめに

今年の7月からCTFを始めました。
Try Hack Me、Hack the Box、Cpaw CTF、pico CTFなどを齧りつつ、今はOWASP Juice Shopに張り付いてます。
自分の学習用ログとして、こちらに解いた記録を残しておきます。
以下は完全なる解答ネタバレになりますので、ご自分で解きたい方はUターンしてください!

今回は⭐️1のタスクです。

タスク

Score Board

main.js の中で score 文字列を検索してパスをゲット。

DOM XSS

検索ボックスに、用意されたiframeのタグを入力。

Bonus Payload

検索ボックスに、用意されたiframeのタグを入力。名曲が流れる。

Privacy Policy

main.js の中で privacy 文字列を検索してパスをゲット。

Bully Chatbot

左メニューのサポートチャットで、Can I get a coupon? などと2回くらい聞いてクーポンをゲット。

Confidential Document

左メニューの会社概要から、文章内にあるリンクをクリックして利用規約に遷移。
パスが /ftp/legal.md となっているので、/ftp にアクセスしてみる。その中に、これは絶対漏らさないで!!的な文書が置いてある。
完全に機密文書なのでクリア。

Error Handling

/ftp のファイルをいくつか見ていると、エラーページが表示される。
ステータスコードなどが表示された、制御されていないエラーを見ることができたのでクリア。

Exposed Metrics

説明欄に記載されている prometheus のエンドポイントでググってみると /metrics というものがあった。アクセスしてみると、ジュースショップに関する諸々の数値データが表示された。

Mass Dispel

いくつかのタスクをクリアして緑色のバナーを複数表示し、Shiftを押しながらいずれかのバナーの閉じるボタンを押すと、複数一気に消せた。

Missing Encoding

左のメニューからフォトギャラリーを見る。猫の絵文字が使われている投稿の画像が表示されていない。
画像アイコンの部分を右クリックして、別タブで開く。URLの#の部分をURL用にエンコードされた文字列(%23)に書き換えると画像が表示される。

Outdated Allowlist

main.js でビットコイン的なURLにリダイレクトしているパスを見つける。

./redirect?to=https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm

localhost:3000/上記のパス にアクセスしてクリア。

Repetitive Registration

ユーザー作成画面で、普通にパスワードを2回入力。
リクエストを書き換えて、確認用パスワードを空にして送るとクリア。
(または、2つのパスワードをUIで一致させてから、1つ目のフィールドのパスワードを変更すると、エラーなしで通る様子。)
DRY原則に従う=同じものを繰り返し書かない、を達成するというタスク。

Web3 Sandbox

main.jssandbox を検索すると、 web3-sandbox というパスが表示される。アクセスするとコードエディタが表示される。

Zero Stars

Burp Suiteでリクエストをインターセプトする。
左メニューのカスタマーフィードバックで、適当に入力して送信ボタンを押す。リクエストの rate の値を0にして送信すると完了。
インターセプト中のブラウザ上で、達成しました!のバナーが表示されなかったが、元々開いていたChromeの方を見たら表示されていた。

Discussion