Hello there, ('ω')ノ
🎯 目的
- 自分のアカウントページにアクセス。
idパラメータをcarlosに改ざんして、carlos のアカウント情報を不正に取得。- レスポンスはリダイレクト(302)だが、本文に API キーが含まれている。
- APIキーを抽出して提出 → ラボクリア。
🔐 アカウント情報
ユーザー名: wiener パスワード: peter
🧪 攻略手順(Burp Suite使用)
1. 通常通りログイン
wienerアカウントでログイン。- アカウントページ(例:
/account?id=wiener)にアクセス。
2. リクエストを Burp Repeater に送信
- 該当リクエストを Burp の Proxy でキャプチャし、Repeater に送信。
3. id パラメータを改ざん
id=wienerをid=carlosに変更。
GET /account?id=carlos HTTP/1.1 Host: lab-idor-leak.acme.net Cookie: session=...
4. レスポンスを確認
- ステータスコードは
302 Foundで/homeなどにリダイレクト。 - しかし、レスポンス本文に以下のような情報が含まれている:
<div>API Key: <code>carlos-api-key-123</code></div>
🗝 APIキーを抽出して提出
- 上記のように表示された
carlosの API キーをコピーし、フォームに貼り付けて提出。 - 🎉 ラボクリア!
🛡 攻撃者が得られる情報は?
- ユーザー
carlosのAPIキー - 本来ログインしていなければ見えない個人情報
🔐 開発者向けの対策
| 対策 | 内容 |
|---|---|
| リダイレクト前に必ず権限チェック | 正規ユーザー以外が参照できないように制御 |
| 機密情報は本文に一切含めない | リダイレクトレスポンスは空にするのが基本 |
| ユーザー特定にセッション情報を使用 | id パラメータを信頼しない設計へ移行 |
🔍 表面的にアクセスがブロックされていても、レスポンス本文を読めば攻撃は成功しているというケースは多く存在します。リダイレクトが「見かけだけ」のセキュリティになっていないか、常に注意しましょう。
Best regards, (^^ゞ