Shikata Ga Nai

Private? There is no such things.

ビジネスロジックの脆弱性診断マニュアルとLab「Inconsistent security controls」の検証

Hello there, ('ω')ノ

検証一覧:マニュアルで Lab「Inconsistent security controls」を解けるか?

マニュアル節 想定されるチェックポイント・手順 Lab での実際の挙動 適合結果
🎯 1. ビジネスロジックの脆弱性とは?
「権限を不正に昇格できるか」
社員専用機能へ一般ユーザがアクセスできないか確認 メールドメインを変更するだけで /admin へ昇格 ✔ 該当
🧭 2. チェックすべき機能
🔁 ステップ制操作/🔑 権限制御ページ
「登録→確認→権限付与」の各ステップが適切に連携しているか メール更新ステップでロール検証をスキップ可能 ✔ 指摘どおり
🛠️ 3. 診断方法(基本手順)
2. 複数パターンで操作/3. リクエスト改変
新規登録→メール確認→staff@dontwannacry.com に変更して再ログイン 権限が社員扱いに変化し管理画面解放 ✔ そのまま適用可
🧪 4. テスト項目とペイロード例
手順スキップ/認可バイパス
/my-account/change-emailemail=…@dontwannacry.com を送信 アクセスコントロールが失敗し昇格成功 ✔ 実証済み
⚠️ 6. 注意点
業務的に正しくない結果を探す
ロールが UI だけで決定されていないか、再ログイン時も維持されるか UI 変更だけで永続的に管理者権限付与 ✔ 有効
🧰 7. 補助ツール
Burp Discovery/Intercept
Discover content/admin を列挙、Intercept でメール変更リクエスト確認 ツール使用手順が Lab 解決に必須 ✔ 一致

フロー再現(マニュアル → Lab)

  1. 機能選定(🧭 2) 「権限専用ページ(/admin)」「ユーザ登録・メール変更」 が怪しい。

  2. 隠しパス発見

    • Burp の Discover content/admin を列挙。
    • 未認証でアクセスすると「DontWannaCry 社員のみ」と表示。
  3. 新規登録&確認

    • anything@<ID>.web-security-academy.net でサインアップ → メールリンクで有効化。
  4. ロール改変ペイロード(🧪 4)

   POST /my-account/change-email
   email=employee@dontwannacry.com

→ サーバ側の社員判定がメール文字列のみで決定。

  1. 昇格確認と操作

    • /admin に 200 OK でアクセス成功。
    • “Delete” でユーザ carlos を削除 → Lab「Solved」。

結論

ビジネスロジック診断マニュアルは、Lab Inconsistent security controls でも

  • 脆弱性発見 → 権限昇格 → 解決

の全プロセスを網羅的にサポートできることを確認しました。 特に 手順スキップ/認可バイパスの項目Burp の補助ツール活用 の節が、Lab の攻略手順にそのまま対応しています。

Best regards, (^^ゞ