Shikata Ga Nai

Private? There is no such things.

LAB: リクエストパラメータによるユーザーID制御の脆弱性(水平権限昇格)

Hello there, ('ω')ノ

🎯 目的

  • 通常ユーザー(wiener)としてログイン。
  • 自分のアカウントページで使用されている id パラメータを確認。
  • id=carlos に書き換えてユーザー「carlos」のAPIキーを取得。
  • このAPIキーを提出してラボをクリア。

🔐 アカウント情報

ユーザー名: wiener
パスワード: peter

🧪 攻略手順(Burp Suite使用)

1. 通常通りログイン

  • wiener アカウントでログインし、自分のアカウントページにアクセス。
  • URL例:
  https://acme.lab.net/my-account?id=wiener

2. リクエストをBurpでキャプチャ

  • アカウントページへのリクエストを Burp Proxy で確認。
  • GET /my-account?id=wiener のようなリクエストになっている。

3. Repeaterでidを改ざん

  • リクエストを Burp Repeater に送信。
  • パラメータ id=wienerid=carlos に書き換え。

4. レスポンスを確認

  • ユーザー carlos のアカウント情報が表示される。
  • レスポンス内に以下のようなAPIキーが含まれている:
  <div>Your API Key is: <code>abc123xyz...</code></div>

✅ 最後に

  • 取得した API キーを提出し、ラボをクリア。

🔐 セキュリティ的な学び

リスク 解説
id パラメータを信頼している セッションIDや認証情報と照合せずに処理
IDORの典型例 数値や文字列のIDを変更するだけで他人の情報にアクセス可能
サーバー側認可チェック不足 表示内容をユーザー自身のものに限定していない

👨‍💻 水平方向の権限昇格は、「ちょっとパラメータを変えるだけで実行できる」シンプルかつ深刻な脆弱性です。IDORは非常に頻出するため、URLやリクエストパラメータは常に疑いの目でチェックするクセをつけましょう。

Best regards, (^^ゞ