Part 4:API Pentest と認証/権限管理

Part 4 では、Web アプリケーションのバックエンドとして広く利用される API(REST / GraphQL 等)を対象としたペネトレーションテストと、認証・権限管理の検証を扱う。

前提として、Part 2 で整理した HTTP / JWT / OAuth2 / OIDC の基礎、および Part 3 の Burp ベースのワークフローを踏まえ、「API 特有のアタックサーフェス(攻撃面 / Attack Surface)」と「認可の誤実装」を中心に解説する。

本 Part で扱う主なトピックは次のとおりである。

  • API のアタックサーフェス整理(エンドポイント、スキーマ、環境の観点)
  • BOLA / Mass Assignment / Rate Limit 不備など、API 特有の脆弱性
  • Swagger / OpenAPI 仕様からのアタックサーフェス抽出
  • OAuth2 / OIDC / 外部 ID 連携(例:Google ID)のテスト観点
  • RBAC / ABAC の誤実装パターンと検証方法

API Security Top 10 で定義されるような代表的リスクをベースにしつつ、実務で頻出する「アクセス制御の欠落」や「クライアント信頼」に焦点を当てる。

本 Part を読む前提と対応演習

前提として、以下の状態を想定する。

  • Part 2 で HTTP / JWT / OAuth2 / OIDC の基礎に一度触れている
  • Part 3 で Burp Suite を用いた Web Pentest の基本的なワークフローを経験している

演習環境としては、exercises/crapi/ に配置する API 演習環境を用い、OpenAPI 仕様と実際のトラフィックを付き合わせながら、BOLA や Mass Assignment などの API 特有の脆弱性を確認することを想定する。 観察結果は 学習ログテンプレート(Burp Academy / 演習) に従って記録する。

演習で作る成果物(推奨)

演習では、次の成果物を作ると後続(攻撃チェーン整理・レポート作成)に接続しやすい。

  • API エンドポイント一覧(OpenAPI 仕様と実トラフィックの照合結果)
  • 権限差分メモ(ロール/所有者/スコープごとのレスポンス差分)
  • 学習ログ(BOLA / Mass Assignment / Rate Limit の成立条件と証拠)
  • PoC の下書き(再現手順・証拠・影響・推奨対策の要点)

関連資料

次に読む章

本章のポイント

  • API Pentest では、API 特有のアタックサーフェス(エンドポイント/スキーマ/環境)と、認証・認可(アクセス制御)の誤実装を中心に検証する。
  • Part 2(HTTP / JWT / OAuth2 / OIDC)と Part 3(Burp Suite を用いたワークフロー)を前提に、API Security Top 10 の代表的リスクを実務観点で整理する。
  • OpenAPI 仕様と実トラフィックを突き合わせながら、BOLA / Mass Assignment / Rate Limit 不備などの成立条件を確認する。