title: “Web Pentest チェックリスト(原案)” version: “0.1-draft”
Web Pentest チェックリスト(原案)
本チェックリストは、Web アプリケーションに対する Pentest の観点を整理するための原案である。
詳細な分類やテスト手順については OWASP ASVS / WSTG を参照しつつ、本書の Part 2〜3 に沿って更新していく。
認証・セッション管理
- 認証フローが強固であり、パスワードリスト攻撃やブルートフォースに対する防御がある
- ログイン直後にセッション ID が再発行される(Session Fixation 対策)
- セッション Cookie に
Secure/HttpOnly/ 適切なSameSiteが設定されている - パスワードリセット・アカウントロック・多要素認証の実装が適切である
アクセス制御
- 認可チェックがサーバサイドで実装されており、UI だけに依存していない
- ID 変更やパラメータ改変により、他者リソースへのアクセスが発生しない(IDOR/BOLA)
- 管理機能エンドポイントへのアクセス制御が適切である(直接 URL アクセスの検証)
入力値検証・出力エスケープ
- すべての外部入力に対して、型・長さ・フォーマットの検証が行われている
- 出力時にコンテキストに応じたエスケープが行われている(HTML / 属性 / JavaScript / JSON)
- SQL インジェクション対策として、プレースホルダ付きクエリが利用されている
- コマンドインジェクションやファイルパス操作時に、ホワイトリスト等の対策がある
セキュリティ設定・エラーハンドリング
- エラーメッセージに過度な内部情報(スタックトレース、SQL 文等)が含まれない
- HTTP セキュリティヘッダ(CSP、X-Frame-Options 等)が適切に設定されている
- 管理用インタフェースやデバッグエンドポイントが公開されていない
ログ・監査
- 重要操作(ログイン、パスワード変更、権限変更等)がログに記録されている
- ログに機密情報(パスワード、完全なカード番号等)が含まれていない
- ログの保存期間と保護が適切に設計されている