Hello there, ('ω')ノ
概要
このラボでは、APIドキュメントが公開されていることを利用して、特定のエンドポイントを悪用し、carlos ユーザーを削除することが目的です。
手順
1. アプリケーションにログインする
Burp Suiteのブラウザを使用し、以下の認証情報でログインします。
ユーザー名: wiener パスワード: peter
2. 自分のメールアドレスを更新し、APIリクエストを確認
- ログイン後、アカウント設定でメールアドレスを更新します。
- Burp Suiteの Proxy > HTTP history を開き、
PATCH /api/user/wienerリクエストを探します。 - そのリクエストを 右クリック → "Send to Repeater" でRepeaterに送ります。
3. APIエンドポイントを探索する
Repeaterで
PATCH /api/user/wienerを送信- レスポンスに
wienerの情報が返されることを確認。
- レスポンスに
エンドポイントを
/api/userに変更してリクエストを送信/wienerを削除し、PATCH /api/userに変更して送信。- エラーが返る(ユーザーIDが必要)。
エンドポイントを
/apiに変更してリクエストを送信/userも削除し、PATCH /apiに変更して送信。- APIドキュメントが返されることを確認。
4. APIドキュメントをブラウザで開く
- レスポンスを右クリック → "Show response in browser" を選択
- URLをコピーしてBurpのブラウザに貼り付けて開く
- インタラクティブなAPIドキュメントを確認する
5. carlos を削除する
- APIドキュメント内の DELETEリクエストの行を探す
- ユーザー削除のリクエストに
carlosを入力 - "Send request" をクリック
まとめとポイント
✅ APIドキュメントが公開されていると、攻撃者にとって大きな武器になる
✅ エンドポイントを操作して、非公開情報や管理機能を探るのが有効
✅ Burp SuiteのRepeaterとブラウザ機能を活用すると、効率的にAPIを調査できる
このようなAPIの誤設定は、実際のシステムでも発生することがあります。適切なアクセス制御がなされていないAPIは、攻撃者に悪用されるリスクが高いため、テスト時に注意深く調査することが重要です。
Best regards, (^^ゞ