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.js
で sandbox
を検索すると、 web3-sandbox
というパスが表示される。アクセスするとコードエディタが表示される。
Zero Stars
Burp Suiteでリクエストをインターセプトする。
左メニューのカスタマーフィードバックで、適当に入力して送信ボタンを押す。リクエストの rate
の値を0にして送信すると完了。
インターセプト中のブラウザ上で、達成しました!のバナーが表示されなかったが、元々開いていたChromeの方を見たら表示されていた。
Discussion