Web API Pentesting

Support HackTricks

Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:

API Pentesting Methodology Summary

Pentesting APIs involves a structured approach to uncovering vulnerabilities. This guide encapsulates a comprehensive methodology, emphasizing practical techniques and tools.

Understanding API Types

  • SOAP/XML Web Services: WSDL形式のドキュメントを利用し、通常は?wsdlパスにあります。SOAPUIWSDLer(Burp Suite Extension)などのツールがリクエストの解析と生成に役立ちます。例のドキュメントはDNE Onlineでアクセス可能です。

  • REST APIs (JSON): ドキュメントはWADLファイルで提供されることが多いですが、Swagger UIのようなツールがよりユーザーフレンドリーなインターフェースを提供します。Postmanは、例のリクエストを作成・管理するための貴重なツールです。

  • GraphQL: APIのためのクエリ言語で、API内のデータの完全で理解可能な説明を提供します。

Practice Labs

  • VAmPI: OWASPトップ10 API脆弱性をカバーするための実践的な練習用に意図的に脆弱なAPIです。

Effective Tricks for API Pentesting

  • SOAP/XML Vulnerabilities: XXE脆弱性を探求しますが、DTD宣言はしばしば制限されています。XMLが有効なままであれば、CDATAタグを使用してペイロードを挿入できる場合があります。

  • Privilege Escalation: 権限レベルが異なるエンドポイントをテストして、不正アクセスの可能性を特定します。

  • CORS Misconfigurations: 認証されたセッションからのCSRF攻撃を通じて、CORS設定の潜在的な悪用可能性を調査します。

  • Endpoint Discovery: APIパターンを利用して隠れたエンドポイントを発見します。ファジングツールなどがこのプロセスを自動化できます。

  • Parameter Tampering: リクエスト内のパラメータを追加または置き換えて、不正なデータや機能にアクセスできるか試します。

  • HTTP Method Testing: リクエストメソッド(GET、POST、PUT、DELETE、PATCH)を変えて、予期しない動作や情報漏洩を発見します。

  • Content-Type Manipulation: 異なるコンテンツタイプ(x-www-form-urlencoded、application/xml、application/json)を切り替えて、解析の問題や脆弱性をテストします。

  • Advanced Parameter Techniques: JSONペイロード内で予期しないデータ型を使用してテストしたり、XXEインジェクションのためにXMLデータを操作したりします。また、パラメータ汚染やワイルドカード文字を試して、より広範なテストを行います。

  • Version Testing: 古いAPIバージョンは攻撃に対してより脆弱である可能性があります。常に複数のAPIバージョンを確認し、テストしてください。

Tools and Resources for API Pentesting

  • kiterunner: APIエンドポイントを発見するのに優れています。ターゲットAPIに対してパスやパラメータをスキャンおよびブルートフォースするために使用します。

kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
  • automatic-api-attack-toolAstra、およびrestler-fuzzerのような追加ツールは、攻撃シミュレーションからファジング、脆弱性スキャンまで、APIセキュリティテストのための特化した機能を提供します。

  • Cherrybomb: OASファイルに基づいてAPIを監査するAPIセキュリティツールです(このツールはRustで書かれています)。

学習と実践リソース

  • OWASP API Security Top 10: 一般的なAPIの脆弱性を理解するための必読書です (OWASP Top 10)。

  • API Security Checklist: APIを保護するための包括的なチェックリストです (GitHub link)。

  • Logger++ Filters: APIの脆弱性を探すために、Logger++は便利なフィルターを提供します (GitHub link)。

  • API Endpoints List: テスト目的のための潜在的なAPIエンドポイントのキュレーションリストです (GitHub gist)。

参考文献

Trickestを使用して、世界で最も高度なコミュニティツールによって駆動されるワークフローを簡単に構築し、自動化します。 今すぐアクセスを取得:

HackTricksをサポートする

Last updated