mcpField
M
mitm-find-callback

mitm-find-callback

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

mitm-find-callback について

mitm-find-callbackは、mitmproxyの通信ログで決済コールバックを調べるセキュリティスキルです。署名、ステータス、金額、チェックサムの問題を確認し、テストと修正案を含めて検出事項を整理します。

主な機能

  1. 01コールバックの署名検証を確認
  2. 02決済ステータスや金額の改ざんリスクを確認
  3. 03署名衝突とチェックサム生成を確認
  4. 04検出事項の影響と修正案を整理

活用シーン

  1. 01決済コールバックの署名検証を監査
  2. 02注文ステータスや金額の改ざんリスクを評価

インストール

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

$npx skills add https://github.com/instavm/security-skills --skill mitm-find-callback

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

詳細

決済コールバックの脆弱性を検出する

mitmproxy のダンプ(log.txt)を分析して、次の決済コールバックの問題を調べます:$ARGUMENTS

必要なもの:現在のディレクトリに log.txt が必要です。ない場合は、先にトラフィックをキャプチャしてください:

mitmdump --set flow_detail=3 2>&1 | tee log.txt

脆弱性の種類

1. ハッシュ/署名が検証されない
  • コールバックが任意のハッシュ値を受け入れる
  • ハッシュパラメーターが存在するが、検証されていない
  • 有効な署名がなくてもステータスを変更できる
2. ステータスの改ざん
  • status=failed を status=success に変更する
  • unmappedstatus パラメーターを変更する
  • 取引結果を改ざんする
3. 金額の改ざん
  • コールバックの前に金額を変更する
  • 少額を支払って注文全額分の商品を受け取る
  • 小数値を操作する
4. 署名の衝突
  • 決済と返金で同じ署名が使える
  • パラメーターの並べ替えで同じハッシュが生成される
  • 署名の計算に必要なフィールドが欠けている
5. チェックサム生成の露出
  • API がエラー時にもチェックサムを返す
  • 任意のチェックサムを生成できる
  • チェックサムのアルゴリズムが脆弱(ソルトなしの MD5/SHA1)

テスト方法

# Test callback with modified status
curl -X POST "https://merchant.com/payment/callback" \
  -d "txnid=12345&status=success&hash=original_hash"

# Test with invalid hash
curl -X POST "https://merchant.com/payment/callback" \
  -d "txnid=12345&status=success&hash=aaaa"

トラフィックにおける危険信号

  • すべてのパラメーターがリクエストに含まれるコールバック URL
  • クライアント側コードからハッシュを確認できる
  • JavaScript にソルト/シークレットが含まれる
  • 有効なチェックサムを含むエラーレスポンス

出力形式

検出事項ごとに、以下を記載します:

  • コールバック URL:脆弱なエンドポイント
  • 問題:改ざん可能な内容
  • パラメーター:影響を受けるフィールド
  • テスト:悪用方法
  • 影響:無料注文、返金など
  • 修正方法:適切なサーバー側の検証

コメント