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の脆弱性:DTD宣言が制限されている場合が多いですが、XXE脆弱性を調査してください。CDATAタグを使用すると、XMLが有効なままであればペイロードの挿入が可能になる場合があります。

  • 特権昇格:権限レベルが異なるエンドポイントをテストして、未承認のアクセス可能性を特定してください。

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

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

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

Last updated