mcpField
A
api-authorization-and-bola

api-authorization-and-bola

github.com/yaklangセキュリティ2.6k3.8k 回インストール6 週間前に更新
リポジトリ

api-authorization-and-bola について

api-authorization-and-bolaは、BOLA、BFLA、マスアサインメントを含むAPIのオブジェクト認可と機能認可を検証するスキルです。2つのアカウントを使うテスト手順と、関連エンドポイント、HTTPメソッド、隠しフィールドの確認方法を示します。

主な機能

  1. 01BOLAとBFLAのテスト手順
  2. 022アカウントでのトークン再試行確認
  3. 03ネストしたリソースとエンドポイントの確認
  4. 04代替HTTPメソッドのテスト
  5. 05隠しフィールド制御の確認

活用シーン

  1. 01アカウント間のオブジェクトアクセス比較
  2. 02ネストしたリソースの認可確認
  3. 03管理機能のアクセス制御テスト
  4. 04隠しフィールドの書き込み可否確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yaklang/hack-skills --skill api-authorization-and-bola

インストール後、Claude Code で/api-authorization-and-bolaを入力して読み込まれたか確認します。

詳細

スキル:API 認可と BOLA — オブジェクトアクセス、機能アクセス、マスアサインメント

AI LOAD INSTRUCTION:API がオブジェクト ID、ネストされたリソース、またはロールに依存する機能を公開しており、BOLA、BFLA、メソッドの悪用、非表示フィールドの制御に焦点を当てた認可テストの手順が必要な場合は、このスキルを使用します。

1. コアテスト手順

  1. アカウント A とアカウント B を作成します。
  2. アカウント A として、作成、読み取り、更新、削除のフローを取得します。
  3. アカウント B のトークンで再実行します。
  4. 関連するエンドポイント、ネストされたエンドポイント、代替 HTTP メソッドをテストします。

2. テスト対象

対象例
オブジェクトの読み取り/api/v1/orders/123
ネストされたオブジェクト/api/v1/users/1/invoices/9
管理者または内部機能/api/v1/admin/users
更新パスPUT、PATCH、DELETE の各バリエーション
非表示の JSON フィールドrole、org、verified、tier

3. クイックペイロード

{"role":"admin"}
{"isAdmin":true}
{"org":"target-company"}
{"verified":true}

4. テスターが見落としがちな点

  • ヘッダー、Cookie、GraphQL 引数、ネストされたオブジェクト内のオブジェクト ID
  • 同じルートを共有しながら、より弱い認可を持つ代替メソッド
  • 親オブジェクトのチェックはあるが、子リソースのチェックがない
  • 書き込み可能なフィールドが追加で記載された管理者向けドキュメント

5. 次のルーティング

コメント