※OWASP Juice Shopのネタバレを含みます
OWASP Juice Shopを解説を見ながら「どうやってここにたどり着くか?」「どういうロジックの脆弱性か?」を考えてやっていきます。
問題の意図がよくわからなかったものと、OSINT問題は省略しています。
★1
Login Admin
adminでログインするとのことです。
ログインするためのメールアドレスがわからんぞ、というところからスタートしました。
何気なく商品を見ていたら、adminのレビューからメールアドレスをゲットしました。

ログインリクエストをファジングしていると、「email」パラメータにSQLインジェクションがある模様です。
認証回避用のペイロードを使用したら無事「解決」となりました(詳細は書きにくいので省略します)
Admin Section
admin用の画面の遷移するとのことでした。
まずはソースコードを「admin」で探してみます。
すると、以下候補が見つかりました。
/rest/admin
administration
順番にアクセスしていたら、「 administration 」のほうが正解でした。
また、ログインしていなかったり、adminでないと解決となるページが見れませんでした。
「 Login Admin 」をやった名残でadminでログイン状態だったのでいきなりたどり着けました。。
Reflected XSS
XSSを実施します。
これは脆弱性の難易度というより、どこに発生するのかを探すのが大変です。
バグバウンティと同じ大変さがあります。
実際探すには全機能を確かめて片っ端からファジングしていきますが、そんな仕事と同じようなことをしたいわけではなかったので、省略してソリューションを見ました。
対象の画面は「配達予定」画面にありました。
指定されたペイロードを「id」パラメータの値に設定して完了しました。
Password Strength
adminアカウントをパスワードを使ってログインするとのことです。
アカウントロックの制限は無かったので、ブルートフォースします。
ワードリストはこれを使います(他にも片っ端から使っていった)
そうしていたら、「admin123」が当たりました。

無料版BurpのIntruderを使ったので誰でもできる手法だと思います。
ワードリストを探すのが苦戦します。
Security Policy
前回やったファイル探査で「security.txt」があったのでそれを見に行ったら「解決」となりました。
View Backet
他の人のカートを見るとのことです。
リクエストを確認すると、カートの内容を確認していそうなリクエストがありました。

パスの末尾が数字であるといういかにもなリクエストだったので、「6」を「5」とかに変えてみたら「解決」となりました。

Weird Crypto
弱い暗号を問い合わせフォームから送信してくれとのことです。
思いつくものを順番に送信していたらmd5で「解決」となりました。
sha1
RC4
MD5
コメント