Shikata Ga Nai

Private? There is no such things.

LAB: 改ざん可能なリクエストパラメータで制御されたユーザーロール

Hello there, ('ω')ノ

🎯 ラボの目的

このラボでは、アクセス制御がユーザーが自由に改ざんできるクッキーに依存している状態になっています。

目標:管理者用パネルにアクセスし、ユーザー「carlos」を削除する


🛠 攻略手順

1. /admin にアクセスして拒否を確認

  • https://<LAB-ID>.web-security-academy.net/admin に直接アクセス
  • → アクセス拒否(403など)されることを確認

2. ログイン処理をBurpでキャプチャ

  • BurpのProxyで Intercept を ON
  • ラボに戻って「wiener : peter」でログイン
  • Burp上でログインリクエスト(POST)とレスポンスを確認

3. レスポンス中のクッキーを改ざん

  • レスポンスヘッダーに以下のような Set-Cookie が含まれるはず:
  Set-Cookie: Admin=false
  • これを Admin=true に書き換えてから Forward

4. 管理者パネルに再アクセス

  • 再度 /admin にアクセス
  • 今度はアクセス可能になっている

5. ユーザー「carlos」を削除

  • 管理パネルにて、ユーザー carlos を探して削除ボタンをクリック

✅ 攻撃成立の理由

問題点 説明
🔓 クッキーの Admin=falseユーザー側で自由に変更可能 クライアント側の値を信頼している
🚫 サーバー側で適切な検証が行われていない クッキー値が改ざんされたかチェックしていない
🛠 セッションやトークンではなく脆弱なパラメータに依存 アクセス制御の本質的欠陥

✅ 学びポイント

  • アクセス制御情報をクライアントに保持してはいけない
  • クッキーはユーザーによって改ざん可能であり、信頼してはいけない
  • サーバー側でユーザーの認証情報やロールは一元的に安全に管理すべき

Best regards, (^^ゞ