Web API Pentesting
Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築および自動化します。 今すぐアクセスしてください:
API Pentesting Methodology Summary
APIのペンテストには脆弱性を発見するための構造化されたアプローチが必要です。このガイドは包括的な方法論をまとめ、実践的な技術とツールを重視しています。
APIタイプの理解
SOAP/XML Webサービス: 通常は
?wsdl
パスで見つかるドキュメントのためにWSDL形式を利用します。SOAPUIやWSDLer(Burp Suite拡張機能)などのツールは、リクエストの解析や生成に役立ちます。例として、DNE Onlineでアクセス可能なドキュメントがあります。REST API(JSON): ドキュメントはしばしばWADLファイルで提供されますが、Swagger UIなどのツールはよりユーザーフレンドリーなインターフェースを提供します。Postmanは、例のリクエストの作成と管理に役立つ貴重なツールです。
GraphQL: APIのデータの完全で理解しやすい説明を提供するAPI用のクエリ言語。
練習用ラボ
VAmPI: OWASPトップ10 API脆弱性をカバーする実践的な脆弱性を持つAPI。
API Pentestingの効果的なトリック
SOAP/XMLの脆弱性: XXE脆弱性を調査しますが、DTD宣言は通常制限されています。XMLが有効であれば、CDATAタグを使用してペイロードを挿入できる場合があります。
特権昇格: 権限レベルが異なるエンドポイントをテストして、未承認のアクセス可能性を特定します。
CORSの誤構成: 認証されたセッションからのCSRF攻撃を介して潜在的な脆弱性を調査するために、CORS設定を調査します。
エンドポイントの発見: APIパターンを活用して隠されたエンドポイントを発見します。ファジングツールなどを使用してこのプロセスを自動化できます。
パラメータの改ざん: リクエストにパラメータを追加または置換して、未承認のデータや機能にアクセスしてみてください。
HTTPメソッドのテスト: リクエストメソッド(GET、POST、PUT、DELETE、PATCH)を変更して、予期しない動作や情報の漏洩を発見します。
Content-Typeの操作: 異なるコンテンツタイプ(x-www-form-urlencoded、application/xml、application/json)に切り替えて、解析の問題や脆弱性をテストします。
高度なパラメータテクニック: JSONペイロードで予期しないデータ型をテストしたり、XXEインジェクションのためにXMLデータを操作したりしてみてください。また、パラメータポリューションやワイルドカード文字を使用して、より広範なテストを行ってみてください。
バージョンのテスト: 古いAPIバージョンは攻撃に対してより脆弱かもしれません。常に複数のAPIバージョンを確認してテストしてください。
API Pentestingのツールとリソース
kiterunner: APIエンドポイントを発見するのに優れています。対象のAPIに対してパスやパラメータをスキャンおよびブルートフォースするために使用してください。
追加ツールであるautomatic-api-attack-tool、Astra、およびrestler-fuzzerは、攻撃シミュレーションからファジング、脆弱性スキャンまでのAPIセキュリティテスト向けの機能を提供しています。
Cherrybomb: OASファイルに基づいてAPIを監査するAPIセキュリティツールです(Rustで書かれたツール)。
学習と実践リソース
OWASP API Security Top 10: 一般的なAPI脆弱性を理解するための必読書 (OWASP Top 10)。
API Security Checklist: APIを保護するための包括的なチェックリスト (GitHubリンク)。
Logger++ Filters: API脆弱性を探すために、Logger++は便利なフィルターを提供しています (GitHubリンク)。
API Endpoints List: テスト目的のための潜在的なAPIエンドポイントの厳選リスト (GitHub gist)。
参考文献
Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築および自動化します。 今すぐアクセスしてください:
Last updated