mcpField
P
pentest-business-logic-abuse

pentest-business-logic-abuse

github.com/crtvrffnrtセキュリティ469 回インストール5 週間前に更新
リポジトリ

pentest-business-logic-abuse について

pentest-business-logic-abuseは、ワークフローの迂回、競合状態、リプレイ、クォータ悪用、未認可の状態変更を調べるセキュリティテストスキルです。想定される状態遷移をモデル化し、実際の影響を確認してから問題を報告するか、確認済みの攻撃条件を引き継ぎます。

主な機能

  1. 01想定される状態遷移のモデル化
  2. 02順序と並行処理の前提を検証
  3. 03未認可の影響を確認
  4. 04競合とリプレイの時間情報付き証拠
  5. 05状態を戻せるテストの設計
  6. 06確認済みの攻撃条件を引き継ぎ

活用シーン

  1. 01ワークフローの手順を省略できるか検証
  2. 02競合による状態変更を確認
  3. 03リプレイやクォータ悪用を評価
  4. 04未認可の委任操作を検証

インストール

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

$npx skills add https://github.com/crtvrffnrt/skills --skill pentest-business-logic-abuse

インストール後、Claude Code で/pentest-business-logic-abuseを入力して読み込まれたか確認します。

詳細

ビジネスロジックの悪用

使用する場面

  • 主な課題が、ワークフローの回避、競合状態、リプレイ、クォータの悪用、混乱した代理人の振る舞い、または不正な状態遷移である場合。
  • 手順の順序変更、スキップ、繰り返し、または委任によって、マッピング済みのワークフローに重大なビジネス上の影響が生じる場合。

引き継ぎ条件

  • ワークフローのマッピングがテストに十分でない場合は、pentest-web-application-logic-mapper に引き継ぎます。
  • パーサーやペイロードの挙動が主な障害となる場合は、pentest-input-protocol-manipulation に引き継ぎます。
  • 決定論的なビジネスロジック上のプリミティブが存在することを確認してから、pentest-exploit-execution-payload-control に引き継ぎます。

出力スキーマ

  • ワークフローモデル:step、required controls、bypass hypothesis
  • 悪用シーケンス:タイミングに関する注記を含む、順序付けられたリクエスト/イベント
  • 影響の証明:不正な状態変更と、それによって得られる機能

手順

  1. 敵対的なテストを行う前に、意図された状態遷移をモデル化します。
  2. 順序、並行処理、システム間の連携に関する前提を特定します。
  3. それらの前提に異議を唱える最小限の悪用シーケンスを実行します。
  4. 観測可能な不正状態またはアクションの結果を通じて、影響を確認します。
  5. 修正に入力フィルタリングだけでなく、制御の配置変更が必要かどうかを検証します。
  6. 確認済みのプリミティブのみを、エクスプロイトの実行に引き継ぎます。

検証ゲート

  • ロジックの悪用は、ペイロードだけのテストではなく、システムの振る舞いをテストするものとして扱います。
  • 競合状態やリプレイのケースでは、時間を考慮した証拠を使用します。
  • 状態を持つシステムでは、元に戻せるテスト設計を取り入れます。
  • 実証された不正な影響がある場合に限り、ロジックの欠陥として報告します。
  • 期待される状態、不正な状態、リプレイ/競合のタイミングを確認するための制御を使用します。
  • 並行処理を低く保ち、機能が実証された時点で停止します。

コメント