以下の内容はhttps://cysec148.hatenablog.com/entry/2025/09/02/060838より取得しました。


第53回:不正なバックエンドAPIを見つけ出す手順

Hello there, ('ω')ノ

🕵️‍♀️ 「不正なバックエンドAPI」とは?

ここでいう“不正”とは、必ずしも悪意あるものとは限りません。 以下のようなAPIも「セキュリティ的に危険」と判断されます:

種類 問題点の例
未公開API ドキュメントにもUIにも存在しないがアクセスできる
認証なしAPI 誰でもアクセス可能な機密データエンドポイント
旧バージョンAPI セキュリティ制御が甘く脆弱性を含んでいる
デバッグ用API 開発中に使ったテスト用の機能が残っている

🧪 発見の手順(5ステップ)

✅ Step 1:SSLピンニングを解除する(前回記事)

Burp SuiteやFridaで通信を観察するには、まずSSLピン留めを解除しておく必要があります。


✅ Step 2:Burp Suiteで通信をキャプチャ

  • スマホのプロキシをBurp Suiteに設定
  • アプリを通常操作(ログイン、画面遷移、ボタンタップなど)
  • 「HTTP history」タブで送受信されるリクエストを確認

📌 特に POSTGET リクエストの パス、ヘッダー、クエリパラメータ を注視!


✅ Step 3:エンドポイント一覧を洗い出す

通信履歴から、使用されているAPIのパスを一覧にまとめましょう。

/api/v1/login  
/api/v1/user/profile  
/api/v1/admin/debug-info  ←これは怪しい!  
/api/v1/logs  

→ 見慣れない or UIに存在しないAPIがないかチェック。


✅ Step 4:パラメータを改変して再リクエスト

Burpの「Repeater」機能を使い、送信パラメータやヘッダーを書き換えて再送信します。

例:

  • ユーザーIDを他人のIDに変えてレスポンスが得られるか?
  • Authorizationヘッダーを削除しても使えるか?
  • 存在しないAPIバージョン(例:/api/v0/)が生きてないか?

✅ Step 5:レスポンス内容を検査

以下のような情報が返ってきたら、要注意です:

レスポンス 問題の可能性
ユーザー一覧や個人情報 認可制御不備
デバッグログや設定ファイル 情報漏洩
バージョン情報や内部構成 攻撃準備に悪用される可能性
ステータスコード200で返る未知API 誤って公開されているかも

🧰 補助ツール

ツール 用途
Burp Suite 通信キャプチャ・改ざん・リプレイ
Frida API呼び出しのタイミングを監視
MobSF アプリ内部に記載されたURLやAPIエンドポイントを静的抽出
APKTool / jadx アプリ内にハードコードされたURLを確認

🧠 実例:MobSFで検出された非公開API

診断中、MobSFで /api/admin/export-logs の存在を検出。 アプリUI上には存在せず、Burpで試したところ、ログファイルがダウンロードできてしまうAPIだった。

→ 対応:認証認可の導入+パスの無効化


✅ まとめ

  • Androidアプリが裏で使っているバックエンドAPIには、公開していない機能や開発中の残骸が含まれていることがある
  • 通信を観察(Burp)、コードを静的解析(MobSF/jadx)、ランタイムで補足(Frida)することで、非公開エンドポイントの実態をつかめる
  • 発見後は、パラメータ改変・未認証アクセス・権限チェック漏れを確認することが重要
  • 本番環境ではアクセスせず、検証環境でのみテストを実施するようにしましょう

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/09/02/060838より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14