以下の内容はhttps://cysec148.hatenablog.com/entry/2025/07/13/225954より取得しました。


第5回 API通信の基礎:公開されすぎたデータを見つける方法

Hello there, ('ω')ノ

そもそもAPI通信とは?

API(Application Programming Interface)は、 「サービス同士が裏でやりとりする通路」のこと。

例:

  • 勤怠アプリ → 社内データベースに打刻データを送信
  • 経費システム → 金額や申請情報をやりとり

ブラウザ上はボタン一つですが、裏ではAPIが働いています。


なぜAPI通信を見るのか?

  • 目に見えないからこそチェックされにくい
  • 開発者がデバッグ用データをそのまま残している場合がある
  • 認証なしで誰でもアクセスできるエンドポイントが存在することも

これらがそのまま放置されると、大量の個人情報流出やシステム操作リスクにつながります。


観察方法:誰でもできる簡単手順

① ChromeまたはEdgeの開発者ツールを開く(F12)

②「Network」タブを選択

③ 社内システムを通常操作しながら観察

④「XHR」「Fetch」「API」と表示される通信をチェック


見つけるべきポイント一覧

✅ 認証なしでアクセスできるURLがないか?

✅ 不要なデータまで返していないか?

  • 例:社員一覧APIを見たら、以下が含まれていた

    • 氏名
    • メールアドレス
    • 社員番号
    • パスワードのハッシュ値(あり得ない!)

✅ ページに表示されない情報まで取得されていないか?

  • 画面上は「社員名」だけ表示
  • しかしAPIレスポンスを開いたら給与情報まで含まれているケースも

✅ HTTPステータスコードの異常なパターン

  • 200 OK なのに画面はエラー表示 → 本当はアクセスできてしまっている場合がある

さらに踏み込んだ確認方法:

プロキシツール(Burp SuiteやOWASP ZAP)を使うと:

  • 本番環境以外でリクエストを書き換えて再送信
  • パラメーターを変えてみる(ID=1 → ID=2)

例:


社内向けまとめチェックリスト

  • [ ] APIエンドポイントURL一覧を洗い出す
  • [ ] 認証なしアクセスが可能か確認
  • [ ] 表示に不要なデータまで返していないか
  • [ ] ID番号などを変えて不正アクセスできないか
  • [ ] ステータスコードやエラーメッセージが適切か

Best regards, (^^ゞ




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

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