Web API Pentesting

AWSハッキングをゼロからヒーローまで学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

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

API Pentesting Methodology Summary

APIのペンテストには脆弱性を発見するための構造化されたアプローチが必要です。このガイドは包括的な方法論をまとめ、実践的な技術とツールを重視しています。

APIタイプの理解

  • SOAP/XML Webサービス: 通常は?wsdlパスで見つかるドキュメントのためにWSDL形式を利用します。SOAPUIWSDLer(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に対してパスやパラメータをスキャンおよびブルートフォースするために使用してください。

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リンク)。

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

  • API Endpoints List: テスト目的のための潜在的なAPIエンドポイントの厳選リスト (GitHub gist)。

参考文献

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

ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!

HackTricksをサポートする他の方法:

Last updated