Pentest レポート(所見の記入例:最小)
本ドキュメントは、付録『Pentest レポートテンプレート』の「個別所見(詳細)」を記入する際の 最小例(所見 1 件) である。
本書の演習で成果物を作成する際に、「どの粒度で書けばよいか」を確認する目的で利用する。
重要: 本サンプルは 架空のシステム・架空のデータ に基づく。実案件・実環境の情報をそのまま転記しないこと。
6. 個別所見(詳細)の記入例(所見 1 件)
EX-01 オブジェクトレベル認可不備(BOLA)により他ユーザー情報を参照可能
- カテゴリ:Access Control
- 重大度:High(例)
概要
API がオブジェクト(ユーザー情報)の参照において、リクエスト主体(ログインユーザー)と対象オブジェクトの関係を検証していない。
そのため、パスパラメータの ID を変更するだけで、他ユーザーの情報が取得できる。
影響
- 不正な情報参照(個人情報・業務情報の漏えい)に繋がる可能性がある。
- 取得可能な項目次第では、追加の攻撃(なりすまし、権限昇格の足がかり等)に利用されうる。
再現手順(検証用環境のみ)
- 一般ユーザーとしてログインし、アクセストークンを取得する。
- 自身の
userIdでユーザー情報 API を呼び出し、正常に参照できることを確認する。 userIdを別ユーザーの値に変更して同 API を呼び出す。- レスポンスに他ユーザーの情報が含まれることを確認する。
(リクエスト例)
GET /api/v1/users/12345 HTTP/1.1
Host: api.example.local
Authorization: Bearer <access_token>
Accept: application/json
(レスポンス例:他ユーザーの情報が返る)
{
"id": 12345,
"email": "other.user@example.local",
"role": "USER"
}
証拠
- Burp Suite の Repeater 履歴(リクエスト/レスポンス)
userIdを変更した際に、別ユーザーのデータが返ることが分かるスクリーンショット- 可能であれば、アクセスログ等の一次情報(システム側で提供可能な場合)
推奨対策
- サーバ側で、対象リソースに対するアクセス権(所有者・ロール・ポリシー)を検証する。
- クライアント側の制御(画面非表示、リンク非表示等)を認可の代替としない。
- テストとして、ID 列挙・差分比較(同一リクエストで ID のみ変える)をテスト計画に組み込み、回帰確認を可能にする。