[\[EN-ReadMe\]](https://github.com/Sugobet/API_Sword/blob/main/%5BEN%5D-README.md) <------ これをお読みください
微信公众号:APT250
オープンソース第一主義と交流学習の原則に基づき、API剣は2週間後(9月7日以降)にオープンソース化し、同時にBurp公式プラグインストアBApp Storeに登録されます。これにより、皆様が今後の更新と使用を便利に行えます。現在、公式によるコード審査中であり、間もなくBApp Storeで公開されると信じています。
[burp新クラシックプラグイン] API剣 - 全自動で様々なレスポンス中のAPIインターフェースを深く収集
jarパッケージはreleaseにあり、後日Burp公式プラグインストアに登録された後はストアからもダウンロード可能です。
前書き
このプラグインは私の最近の仕事内容と、以前に私が4万ドルの賞金を獲得したMicrosoftアカウントの脆弱性APIに関する一部の経験を組み合わせたものです。
API剣の開発者はAPI剣を利用してプロジェクトで複数回成果を上げ、汎用0dayを獲得しました。このツールを持ってからは、もう手動でどのjsからも苦痛を伴ってインターフェースやパス、パラメータを探す必要がなくなりました。

多くのJS Finder、URLFinderなどの人気のあるjsやapi発掘ツールと似ていますが、それらは非常に優れたツールです。API剣はburpの特性を活かして能力と優位性を獲得しています。
プラグインのメイン画面のスクリーンショット:
API剣の主な機能
API剣は全自動でループ防止機能を備え、様々なレスポンスから指定範囲内のAPIとjsファイルを抽出し、再帰的に深くAPIを抽出、APIやjsなど価値あるファイルを能動的にリクエストします。
APIの結果は見たままの通りで、右側のウィンドウにはAPIの元となったjsが表示され、すぐにjs内からAPIのパラメータ情報を取得できます。その後burpでCtrl + Rを押せば一発でテストに移れます。
想像ほど複雑ではなく、API剣が行うことは私たちのために大量の繰り返しで時間のかかり、退屈なjs、api、apiパラメータの探索作業を大幅に削減することです。
- API剣はburpを通過する範囲内のトラフィックを捕捉し、httpレスポンスから大部分のリンクを抽出します
- API剣は前ステップで抽出した任意のリンクやパスをクリーンアップし、API剣が判断してAPIやJSなどに対してGET、POSTリクエストを能動的に発行します
- API剣は前ステップの能動的リクエストのレスポンスをさらに処理し、レスポンスから情報を抽出し続け、前ステップの動作を繰り返します。API剣はループ防止機能を持ち、無限ループリクエストの問題を心配する必要はありません
- API剣は条件に合致した全てのAPIリクエスト・レスポンス及びそのAPIインターフェースの元となるjsファイルのレスポンスを全てAPI剣のburp GUIにプッシュします
- API剣は関連する全てのリクエストをburpのtarget sitemapに自動で追加し、targetのsitemapの分析機能などでAPI剣の成果を存分に楽しめます
opsecなど操作上の安全リスクを考慮し、現時点でAPI剣はパラメータの自動fuzzは行いません。今後ニーズがあれば追加でオプション機能として実装予定です。
如何使用?
注意:プラグインは2024.7以降のバージョンのburpsuiteで動作する必要があります;(2024.7未満のバージョンの場合は、プラグインの設定ページで「元のheadersを使用する」機能を手動でオフにする必要があります)
API剣の使用は非常に簡単です、
- プラグインをburp 2024以降のバージョンにインストールし、プラグインにエラーがないことを確認する
- プラグインのScopeを設定する
- ブラウザを開き、ブラウザのトラフィックがburpを通るようにする
- ターゲットサイトに入り、サイト内で見たものを何でもクリックしてテストする
- 一定時間経過後、API剣のSitemapから成果を確認する
API剣の設定
Scopeタブでは、範囲を設定できます。範囲はURL、ドメイン、IPで設定可能です
この範囲は特に重要で、慎重に検討することを推奨します。そうしないと宇宙の彼方までスキャンしてしまう恐れがあります。
範囲を設定したら、Settingタブを見てみましょう
- APIリクエストの積極的許可
- 元のheadersを使用するかどうか
- すべてのリクエスト送信を即時停止
- 現在のSiteMapのすべてのデータをクリア

- アクティブHTTPリクエストの速度を有効にする
- アクティブリクエスト時に追加のカスタムパスリクエストを行うかどうか
- 200以外のカスタムレスポンスコードをフィルタリングする
- API剣がレスポンスからbaseURLを積極的に探し、baseURLに対してパス結合を行うことを許可する
- カスタムヘッダーフィールドを追加:(既存のヘッダーフィールドを自動的に上書き)
- 危険なインターフェースアクセスを回避する機能を有効にする(インターフェースに特定の文字列が含まれる場合はスキップ)
- 範囲およびすべての設定を保存
- APIインターフェースの後、パラメータの前に追加のカスタムパスを追加するかどうか
- スレッド数の制御
謝辞
Microsoftに感謝
私の緑盟メンターに感謝
mil1lnに感謝
探姬に感謝
API剣のテスト段階で貴重な意見とフィードバックを提供してくださったすべての方に感謝
以上すべての方々のAPI剣へのご支援に感謝します!
TODO
- 梅花Kのポロシャツを1枚収集する ⬛️
- 選択可能なbase urlパスのファズを追加 ✅
- カスタムレスポンスコードフィルタを追加 ✅
- API剣の能動リクエスト時にカスタムbaseパスのオプションを追加 ✅
- マッチング戦略を最適化し、API剣のパフォーマンスを80%向上 ✅
- API剣の能動リクエストを最適化し、危険なAPIへのアクセスを回避 ✅
- burpのデフォルトヘッダーでCTフィールドが含まれない問題を解決 ✅
- レスポンステーブルのタグ幅を最適化 ✅
- sitemapのUIのちらつき問題を修正 ✅
- カスタムリクエストヘッダーのオプション機能を追加 ✅
- レスポンスリストのタグ自動ソートを追加 ✅
- マッチング戦略を最適化 ✅
- コードブロックを最適化 ⬛️
- burpアンインストール処理を登録 ✅
- 全コードに中英両言語で読みやすいコードコメントを追加 ⬛️
- GUIに中英切替機能を追加 ✅
- burpのカクつきやレンダリング問題を引き起こすUIを最適化 ✅
- 範囲と設定の保存機能を追加 ✅
- 能動HTTPリクエストのレート機能を追加 ✅
- マルチスレッド機能を追加 ✅
- インターフェース後、パラメータ前のカスタムパス機能を追加 ✅
- マルチスレッドによるループ防止ロジックの無効化問題を緊急修正 ✅
- 自動ソートの表示エラー問題を修正 ✅
- APIリストのUIを最適化、データ挿入時に方向キーでの操作が中断されないように ✅
- マルチスレッドにより防ループロジックが依然無効になるバグを完全修正 ✅
- フィルターを追加 ✅
- ノード展開、全ノード折りたたみを追加 ✅
- サイトマップクリア機能を最適化 ✅
- CDN|クロスサイトのJS連結ロジックを最適化し、RefererをbaseUrlとして使用 ✅
- 手動スキャン機能を追加、手動スキャンはホストを範囲リストに自動追加:burpでリクエストボディを右クリック -> 拡張機能 -> API Sword -> API Scan ✅