mcpField
M
mitm-find-otp

mitm-find-otp

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

mitm-find-otp について

mitmproxyの通信ログを分析し、OTPの脆弱性を証拠や影響、修正案とともに整理するセキュリティスキルです。OTPフローのテストに使えます。

主な機能

  1. 01レスポンスやURL内のOTP検出
  2. 02レート制限と認証回避の確認
  3. 03予測可能または再利用されるOTPの特定
  4. 04証拠・影響・修正案の報告

活用シーン

  1. 01取得したOTP送信・検証リクエストの確認
  2. 02総当たりやOTP漏えいリスクの評価

インストール

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

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

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

詳細

OTP の脆弱性を検出する

mitmproxy のダンプ(log.txt)を分析し、次の対象に関する OTP の問題を調べます:$ARGUMENTS

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

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

脆弱性の種類

1. レスポンス内の OTP
  • API レスポンス本文で OTP が返される
  • ページソースや JavaScript に OTP が含まれる
  • エラーメッセージに OTP が含まれる
  • OTP は SMS またはメールでのみ送信し、API レスポンスには含めないでください
2. レート制限なし
  • OTP 生成リクエストが無制限に可能
  • 検証の試行が無制限に可能
  • 4~6 桁の OTP を総当たり攻撃できる
3. OTP のバイパス
  • レスポンスを改変すると OTP 検証をバイパスできる
  • verified: false を verified: true に変更できる
  • 空の OTP が受け入れられる
  • 古い OTP が引き続き有効
4. 予測可能な OTP
  • 連番の OTP
  • タイムスタンプに基づく OTP
  • 複数のリクエストで同じ OTP が使われる
5. OTP の漏えい
  • URL パラメーターに OTP が含まれる(ログに記録される)
  • ソースコード内の関数名から OTP が確認できる
  • OTP が GET リクエストで送信される

テスト方法

# Check for OTP in response
curl -X POST "https://target.com/api/send-otp" \
  -d "phone=1234567890" | grep -i otp

# Test rate limiting
for i in {1..20}; do
  curl -X POST "https://target.com/api/verify-otp" \
    -d "phone=1234567890&otp=$i"
done

# Test with empty/invalid OTP
curl -X POST "https://target.com/api/verify-otp" \
  -d "phone=1234567890&otp="

出力形式

各検出結果について:

  • エンドポイント:OTP の送信/検証 URL
  • 問題:脆弱性の種類
  • 証拠:確認された内容
  • 悪用方法:再現手順
  • 影響:アカウント乗っ取りのリスク
  • 修正方法:サーバー側での検証、レート制限

コメント