top-web-vulnerabilities について
Web の脆弱性をカテゴリ別に整理し、原因、影響、緩和策を示すセキュリティリファレンススキルです。セキュリティ評価と修正計画に活用できます。
主な機能
- 01カテゴリ別の脆弱性リファレンス
- 02原因と影響の説明
- 03緩和策のガイダンス
- 04評価・修正チェックリスト
活用シーン
- 01Web アプリの脆弱性レビュー
- 02特定したセキュリティ問題の修正計画
- 03セキュリティ評価チェックリストの作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zebbern/ claude-code-guide --skill top-web-vulnerabilitiesインストール後、Claude Code で/top-web-vulnerabilitiesを入力して読み込まれたか確認します。
詳細
トップ100 Web脆弱性リファレンス
目的
カテゴリ別に整理された、最も重大な Web アプリケーション脆弱性100件について、包括的で構造化されたリファレンスを提供します。このスキルにより、Web セキュリティ脅威の全領域にわたって、脆弱性の体系的な特定、影響評価、および是正ガイダンスを行えます。業界標準と実際の攻撃パターンに沿って、15の主要な脆弱性カテゴリに内容を整理しています。
前提条件
- Web アプリケーションアーキテクチャの基本的な理解(クライアントサーバーモデル、HTTP プロトコル)
- 一般的な Web 技術(HTML、JavaScript、SQL、XML、API)への精通
- 認証と認可の概念の理解
- Web アプリケーションセキュリティテストツール(Burp Suite、OWASP ZAP)へのアクセス
- 安全なコーディング原則の把握を推奨
出力と成果物
- 定義、根本原因、影響、および対策を含む完全な脆弱性カタログ
- 体系的な評価のためのカテゴリ別の脆弱性グループ分け
- セキュリティテストおよび是正のためのクイックリファレンス
- 脆弱性評価チェックリストおよびセキュリティポリシーの基盤
コアワークフロー
フェーズ1:インジェクション脆弱性の評価
データ処理コンポーネントを標的とするインジェクション攻撃ベクトルを評価します。
SQLインジェクション(1)
- 定義:入力フィールドに挿入された悪意のある SQL コードにより、データベースクエリを操作すること
- 根本原因:入力検証の欠如、パラメータ化クエリの不適切な使用
- 影響:不正なデータアクセス、データ改ざん、データベースの侵害
- 対策:パラメータ化クエリ/プリペアドステートメントの使用、入力検証、最小権限のデータベースアカウント
クロスサイトスクリプティング(XSS)(2)
- 定義:他のユーザーが閲覧する Web ページへの悪意のあるスクリプトの注入
- 根本原因:出力エンコーディングの不備、入力サニタイズの欠如
- 影響:セッションハイジャック、認証情報の窃取、Web サイトの改ざん
- 対策:出力エンコーディング、コンテンツセキュリティポリシー(CSP)、入力サニタイズ
コマンドインジェクション(5、11)
- 定義:脆弱なアプリケーションを通じた任意のシステムコマンドの実行
- 根本原因:システムシェルに渡されるサニタイズされていないユーザー入力
- 影響:システム全体の侵害、データの持ち出し、横展開
- 対策:シェル実行の回避、有効なコマンドのホワイトリスト化、厳格な入力検証
XMLインジェクション(6)、LDAPインジェクション(7)、XPathインジェクション(8)
- 定義:悪意のある入力による XML/LDAP/XPath クエリの操作
- 根本原因:クエリ構築時における入力の不適切な処理
- 影響:データの露出、認証のバイパス、情報漏えい
- 対策:入力検証、パラメータ化クエリ、特殊文字のエスケープ
サーバーサイドテンプレートインジェクション(SSTI)(13)
- 定義:テンプレートエンジンへの悪意のあるコードの注入
- 根本原因:ユーザー入力がテンプレート式に直接埋め込まれること
- 影響:リモートコード実行、サーバーの侵害
- 対策:テンプレートエンジンのサンドボックス化、テンプレートへのユーザー入力の使用回避、厳格な入力検証
フェーズ 2: 認証とセッションのセキュリティ
認証メカニズムの脆弱性を評価します:
セッション固定化 (14)
- 定義: 攻撃者が認証前に被害者のセッション ID を設定する
- 根本原因: ログイン後にセッション ID が再生成されない
- 影響: セッションハイジャック、不正なアカウントアクセス
- 対策: 認証時にセッション ID を再生成し、安全なセッション管理を使用する
ブルートフォース攻撃 (15)
- 定義: 自動化ツールを使用した体系的なパスワード推測
- 根本原因: アカウントロックアウト、レート制限、または CAPTCHA の欠如
- 影響: 不正アクセス、認証情報の漏えい
- 対策: アカウントロックアウトポリシー、レート制限、MFA、CAPTCHA
セッションハイジャック (16)
- 定義: 攻撃者が有効なセッショントークンを盗む、または予測する
- 根本原因: 脆弱なセッショントークン生成、安全でない通信
- 影響: アカウントの乗っ取り、不正アクセス
- 対策: 安全な乱数によるトークン生成、HTTPS、HttpOnly/Secure Cookie フラグ
クレデンシャルスタッフィングと使い回し (22)
- 定義: 流出した認証情報を使用して、複数のサービスにまたがってアカウントにアクセスする
- 根本原因: ユーザーによるパスワードの使い回し、侵害検知の欠如
- 影響: 大規模なアカウントの侵害、データ侵害
- 対策: MFA、漏えいパスワードのチェック、一意の認証情報の要求
安全でない「ログインしたままにする」機能 (85)
- 定義: 永続的な認証トークンの実装が脆弱である
- 根本原因: 予測可能なトークン、不十分な有効期限の管理
- 影響: 不正な永続的アクセス、セッションの侵害
- 対策: 強力なトークン生成、適切な有効期限の設定、安全な保存
CAPTCHA バイパス (86)
- 定義: ボット検知の仕組みを回避する
- 根本原因: CAPTCHA アルゴリズムの脆弱性、不適切な検証
- 影響: 自動化された攻撃、クレデンシャルスタッフィング、スパム
- 対策: reCAPTCHA v3、多層的なボット検知、レート制限
フェーズ 3: 機密データの露出
データ保護の不備を特定します:
IDOR - 安全でない直接オブジェクト参照 (23, 42)
- 定義: ユーザーが指定した参照を介して内部オブジェクトに直接アクセスする
- 根本原因: オブジェクトアクセスに対する認可チェックの欠如
- 影響: 不正なデータアクセス、プライバシー侵害
- 対策: アクセス制御の検証、間接参照マップ、認可チェック
データ漏えい (24)
- 定義: 機密情報の意図しない開示
- 根本原因: 不十分なデータ保護、脆弱なアクセス制御
- 影響: プライバシー侵害、規制当局による罰則、評判の低下
- 対策: DLP ソリューション、暗号化、アクセス制御、セキュリティ教育
暗号化されていないデータの保存 (25)
- 定義: 機密データを暗号化せずに保存する
- 根本原因: 保存時の暗号化の未実装
- 影響: ストレージが侵害された場合のデータ漏えい
- 対策: フルディスク暗号化、データベース暗号化、安全な鍵管理
情報漏えい (33)
- 定義: エラーメッセージや応答を通じたシステムの詳細情報の露出
- 根本原因: 詳細すぎるエラー処理、本番環境でのデバッグ情報の残存
- 影響: さらなる攻撃のための偵察、認証情報の露出
- 対策: 汎用的なエラーメッセージ、デバッグモードの無効化、安全なログ記録
Phase 4: セキュリティ設定ミス
設定上の弱点を評価します:
セキュリティヘッダーの欠落 (26)
- 定義: CSP、X-Frame-Options、HSTS などの保護用 HTTP ヘッダーが存在しないこと
- 根本原因: サーバー設定の不備
- 影響: XSS 攻撃、クリックジャッキング、プロトコルダウングレード
- 対策: CSP、X-Content-Type-Options、X-Frame-Options、HSTS を実装する
デフォルトパスワード (28)
- 定義: システムやアプリケーションでデフォルトの認証情報が変更されていないこと
- 根本原因: ベンダーのデフォルト設定を変更していないこと
- 影響: 不正アクセス、システムの侵害
- 対策: パスワードの変更を必須化し、強力なパスワードポリシーを適用する
ディレクトリリスティング (29)
- 定義: Web サーバーがディレクトリの内容を公開していること
- 根本原因: サーバーの不適切な設定
- 影響: 情報漏えい、機密ファイルの露出
- 対策: ディレクトリインデックスを無効化し、既定のインデックスファイルを使用する
保護されていない API エンドポイント (30)
- 定義: 認証や認可が不足している API
- 根本原因: API ルートにセキュリティ制御が欠けていること
- 影響: 不正なデータアクセス、API の悪用
- 対策: OAuth/API キー、アクセス制御、レート制限を導入する
開いているポートとサービス (31)
- 定義: 不要なネットワークサービスが公開されていること
- 根本原因: 攻撃対象領域を最小化していないこと
- 影響: 脆弱なサービスの悪用
- 対策: ポートスキャンによる監査、ファイアウォールルール、サービスの最小化
CORS の設定ミス (35)
- 定義: Cross-Origin Resource Sharing ポリシーが過度に許可されていること
- 根本原因: ワイルドカードのオリジン、不適切な CORS 設定
- 影響: クロスサイトリクエスト攻撃、データの窃取
- 対策: 信頼できるオリジンをホワイトリスト化し、CORS ヘッダーを検証する
未パッチのソフトウェア (34)
- 定義: 古く脆弱なソフトウェアを実行しているシステム
- 根本原因: パッチ管理の怠慢
- 影響: 既知の脆弱性の悪用
- 対策: パッチ管理プログラム、脆弱性スキャン、自動アップデートを導入する
Phase 5: XML 関連の脆弱性
XML 処理のセキュリティを評価します:
XXE - XML 外部エンティティインジェクション (37)
- 定義: XML パーサーを悪用してファイルや内部システムにアクセスすること
- 根本原因: 外部エンティティの処理が有効になっていること
- 影響: ファイルの漏えい、SSRF、サービス拒否
- 対策: 外部エンティティを無効化し、安全な XML パーサーを使用する
XEE - XML エンティティ展開 (38)
- 定義: 過剰なエンティティ展開によりリソースが枯渇すること
- 根本原因: エンティティの展開数が無制限に許可されていること
- 影響: サービス拒否、パーサーのクラッシュ
- 対策: エンティティ展開を制限し、パーサーの制約を設定する
XML ボム (Billion Laughs) (39)
- 定義: ネストしたエンティティを含み、リソースを消費するよう細工された XML
- 根本原因: 再帰的なエンティティ定義
- 影響: メモリの枯渇、サービス拒否
- 対策: エンティティ展開の上限設定、入力サイズの制限
XML サービス拒否 (65)
- 定義: 細工された XML により過剰な処理が発生すること
- 根本原因: 制限のない複雑なドキュメント構造
- 影響: CPU/メモリの枯渇、サービスの停止
- 対策: スキーマ検証、サイズ制限、処理タイムアウトの設定
フェーズ 6: 壊れたアクセス制御
認可の強制を評価します:
不適切な認可 (40)
- 定義: アクセス制御を適切に強制できないこと
- 根本原因: 弱い認可ポリシー、チェックの欠落
- 影響: 機密リソースへの不正アクセス
- 緩和策: RBAC、集中型 IAM、定期的なアクセスレビュー
権限昇格 (41)
- 定義: 意図された権限を超えて昇格したアクセスを得ること
- 根本原因: 誤設定された権限、システムの脆弱性
- 影響: システムの完全な侵害、データの改ざん
- 緩和策: 最小権限の原則、定期的なパッチ適用、権限の監視
強制ブラウジング (43)
- 定義: 制限されたリソースにアクセスするための直接的な URL 操作
- 根本原因: 弱いアクセス制御、予測可能な URL
- 影響: ファイルやディレクトリへの不正アクセス
- 緩和策: サーバーサイドのアクセス制御、予測不可能なリソースパス
関数レベルのアクセス制御の欠如 (44)
- 定義: 管理用または特権の機能が保護されていないこと
- 根本原因: UI レベルでのみ認可を行っていること
- 影響: 不正な機能の実行
- 緩和策: すべての機能に対するサーバーサイドの認可、RBAC
フェーズ 7: 安全でないデシリアライゼーション
オブジェクトのシリアライゼーションのセキュリティを評価します:
デシリアライゼーションによるリモートコード実行 (45)
- 定義: 悪意のあるシリアライズ済みオブジェクトを通じて任意のコードが実行されること
- 根本原因: 検証なしで信頼できないデータをデシリアライズしていること
- 影響: システムの完全な侵害、コードの実行
- 緩和策: 信頼できないデータのデシリアライズを避ける、整合性チェック、型の検証
データの改ざん (46)
- 定義: シリアライズ済みデータの不正な変更
- 根本原因: 整合性検証の欠如
- 影響: データの破損、権限の操作
- 緩和策: デジタル署名、HMAC 検証、暗号化
オブジェクトインジェクション (47)
- 定義: デシリアライズ中に悪意のあるオブジェクトがインスタンス化されること
- 根本原因: 安全でないデシリアライゼーションの実践
- 影響: コードの実行、不正アクセス
- 緩和策: 型の制限、クラスのホワイトリスト化、安全なライブラリの使用
フェーズ 8: API セキュリティ評価
API 固有の脆弱性を評価します:
安全でない API エンドポイント (48)
- 定義: 適切なセキュリティ制御がない API
- 根本原因: 不適切な API 設計、認証の欠如
- 影響: データ漏えい、不正アクセス
- 緩和策: OAuth/JWT、HTTPS、入力検証、レート制限
API キーの露出 (49)
- 定義: 漏えいまたは公開された API 認証情報
- 根本原因: キーのハードコーディング、安全でない保管
- 影響: 不正な API アクセス、悪用
- 緩和策: 安全なキーの保管、ローテーション、環境変数
レート制限の欠如 (50)
- 定義: API リクエストの頻度に対する制御がないこと
- 根本原因: スロットリング機構の欠如
- 影響: DoS、API の悪用、リソースの枯渇
- 緩和策: ユーザーまたは IP ごとのレート制限、スロットリング、DDoS 対策
不適切な入力検証 (51)
- 定義: 検証されていないユーザー入力を受け付ける API
- 根本原因: サーバーサイドの検証の欠如
- 影響: インジェクション攻撃、データの破損
- 緩和策: 厳密な検証、パラメータ化クエリ、WAF
API の悪用 (75)
- 定義: 悪意のある目的で API の機能を悪用すること
- 根本原因: クライアントの入力に対する過度な信頼
- 影響: データの窃取、アカウントの乗っ取り、サービスの悪用
- 緩和策: 強力な認証、振る舞い分析、異常検知
Phase 9: 通信セキュリティ
トランスポート層の保護を評価します:
中間者攻撃 (Man-in-the-Middle Attack) (52)
- 定義: 当事者間の通信の傍受
- 根本原因: 暗号化されていないチャネル、侵害されたネットワーク
- 影響: データ窃取、セッションハイジャック、なりすまし
- 緩和策: TLS/SSL、証明書ピンニング、相互認証
不十分なトランスポート層セキュリティ (Insufficient Transport Layer Security) (53)
- 定義: 転送中のデータに対する弱い、または古い暗号化
- 根本原因: 古いプロトコル (SSLv2/3)、弱い暗号スイート
- 影響: トラフィックの傍受、認証情報の窃取
- 緩和策: TLS 1.2以上、強力な暗号スイート、HSTS
安全でないSSL/TLS設定 (Insecure SSL/TLS Configuration) (54)
- 定義: 暗号化設定の不適切な構成
- 根本原因: 弱い暗号スイート、前方秘匿性(PFS)の欠如
- 影響: トラフィックの復号、MITM攻撃
- 緩和策: 最新の暗号スイート、PFS、証明書検証
安全でない通信プロトコル (Insecure Communication Protocols) (55)
- 定義: 暗号化されていないプロトコル (HTTP、Telnet、FTP) の使用
- 根本原因: レガシーシステム、セキュリティ意識の欠如
- 影響: トラフィックのスニッフィング、認証情報の露出
- 緩和策: HTTPS、SSH、SFTP、VPNトンネル
Phase 10: クライアントサイドの脆弱性
ブラウザ側のセキュリティを評価します:
DOMベースのXSS (DOM-based XSS) (56)
- 定義: クライアントサイドのJavaScriptの操作によるXSS
- 根本原因: ユーザー入力を用いた安全でないDOM操作
- 影響: セッション窃取、認証情報の収集
- 緩和策: 安全なDOM API、CSP、入力のサニタイズ
安全でないクロスオリジン通信 (Insecure Cross-Origin Communication) (57)
- 定義: クロスオリジンリクエストの不適切な処理
- 根本原因: 緩和されたCORS/SOPポリシー
- 影響: データ漏えい、CSRF攻撃
- 緩和策: 厳格なCORS、CSRFトークン、オリジンの検証
ブラウザキャッシュポイズニング (Browser Cache Poisoning) (58)
- 定義: キャッシュされたコンテンツの改ざん
- 根本原因: 弱いキャッシュ検証
- 影響: 悪意のあるコンテンツの配信
- 緩和策: Cache-Controlヘッダー、HTTPS、整合性チェック
クリックジャッキング (Clickjacking) (59, 71)
- 定義: 隠された要素をユーザーにクリックさせるUIリドレス攻撃
- 根本原因: フレーム保護の欠如
- 影響: 意図しない操作、認証情報の窃取
- 緩和策: X-Frame-Options、CSP frame-ancestors、フレーム破り
HTML5のセキュリティ問題 (HTML5 Security Issues) (60)
- 定義: HTML5 API (WebSocket、ストレージ、位置情報) の脆弱性
- 根本原因: API の不適切な使用、不十分な検証
- 影響: データ漏えい、XSS、プライバシー侵害
- 緩和策: API の安全な使用、入力検証、サンドボックス化
Phase 11: サービス拒否の評価
可用性に対する脅威を評価します:
DDoS - 分散型サービス拒否攻撃 (Distributed Denial of Service) (61)
- 定義: 複数の送信元からのトラフィックによるシステムの過負荷
- 根本原因: ボットネット、増幅攻撃
- 影響: サービスの利用不可、収益の損失
- 緩和策: DDoS防御サービス、レート制限、CDN
アプリケーション層のDoS (Application Layer DoS) (62)
- 定義: リソースを枯渇させるためにアプリケーションロジックを狙う攻撃
- 根本原因: 非効率なコード、リソース負荷の高い処理
- 影響: アプリケーションの利用不可、パフォーマンスの低下
- 緩和策: レート制限、キャッシュ、WAF、コードの最適化
リソース枯渇 (Resource Exhaustion) (63)
- 定義: CPU、メモリ、ディスク、またはネットワークリソースの枯渇
- 根本原因: 非効率なリソース管理
- 影響: システムのクラッシュ、サービスの低下
- 緩和策: リソースクォータ、監視、ロードバランシング
Slowloris攻撃 (Slowloris Attack) (64)
- 定義: 部分的なHTTPリクエストで接続を開いたままにする攻撃
- 根本原因: 接続タイムアウトの未設定
- 影響: Webサーバーのリソース枯渇
- 緩和策: 接続タイムアウト、リクエスト数の制限、リバースプロキシ
Phase 12: Server-Side Request Forgery
SSRF の脆弱性を評価します:
SSRF - Server-Side Request Forgery (66)
- 定義: サーバーを操作して、内部リソースへのリクエストを行わせること
- 根本原因: 検証されていないユーザー制御の URL
- 影響: 内部ネットワークへのアクセス、データの窃取、クラウドメタデータへのアクセス
- 対策: URL のホワイトリスト化、ネットワークのセグメンテーション、エグレスフィルタリング
Blind SSRF (87)
- 定義: 直接的なレスポンスが確認できない SSRF
- 根本原因: SSRF と同様だが、検出がより困難
- 影響: データの持ち出し、内部偵察
- 対策: 許可リスト、WAF、ネットワーク制限
Time-Based Blind SSRF (88)
- 定義: レスポンスの時間から SSRF の成否を推測すること
- 根本原因: リクエストの結果を示す処理遅延
- 影響: 長期的な悪用、検知の回避
- 対策: リクエストのタイムアウト、異常検知、タイミングの監視
Phase 13: Additional Web Vulnerabilities
| # | Vulnerability | Root Cause | Impact | Mitigation |
|---|---|---|---|---|
| 67 | HTTP Parameter Pollution | Inconsistent parsing | Injection, ACL bypass | Strict parsing, validation |
| 68 | Insecure Redirects | Unvalidated targets | Phishing, malware | Whitelist destinations |
| 69 | File Inclusion (LFI/RFI) | Unvalidated paths | Code exec, disclosure | Whitelist files, disable RFI |
| 70 | Security Header Bypass | Misconfigured headers | XSS, clickjacking | Proper headers, audits |
| 72 | Inadequate Session Timeout | Excessive timeouts | Session hijacking | Idle termination, timeouts |
| 73 | Insufficient Logging | Missing infrastructure | Detection gaps | SIEM, alerting |
| 74 | Business Logic Flaws | Insecure design | Fraud, unauthorized ops | Threat modeling, testing |
Phase 14: Mobile and IoT Security
| # | Vulnerability | Root Cause | Impact | Mitigation |
|---|---|---|---|---|
| 76 | Insecure Mobile Storage | Plain text, weak crypto | Data theft | Keychain/Keystore, encrypt |
| 77 | Insecure Mobile Transmission | HTTP, cert failures | Traffic interception | TLS, cert pinning |
| 78 | Insecure Mobile APIs | Missing auth/validation | Data exposure | OAuth/JWT, validation |
| 79 | App Reverse Engineering | Hardcoded creds | Credential theft | Obfuscation, RASP |
| 80 | IoT Management Issues | Weak auth, no TLS | Device takeover | Strong auth, TLS |
| 81 | Weak IoT Authentication | Default passwords | Unauthorized access | Unique creds, MFA |
| 82 | IoT Vulnerabilities | Design flaws, old firmware | Botnet recruitment | Updates, segmentation |
| 83 | Smart Home Access | Insecure defaults | Privacy invasion | MFA, segmentation |
| 84 | IoT Privacy Issues | Excessive collection | Surveillance | Data minimization |
Phase 15: Advanced and Zero-Day Threats
| # | Vulnerability | Root Cause | Impact | Mitigation |
|---|---|---|---|---|
| 89 | MIME Sniffing | Missing headers | XSS, spoofing | X-Content-Type-Options |
| 91 | CSP Bypass | Weak config | XSS despite CSP | Strict CSP, nonces |
| 92 | Inconsistent Validation | Decentralized logic | Control bypass | Centralized validation |
| 93 | Race Conditions | Missing sync | Privilege escalation | Proper locking |
| 94-95 | Business Logic Flaws | Missing validation | Financial fraud | Server-side validation |
| 96 | Account Enumeration | Different responses | Targeted attacks | Uniform responses |
| 98-99 | Unpatched Vulnerabilities | Patch delays | Zero-day exploitation | Patch management |
| 100 | Zero-Day Exploits | Unknown vulns | Unmitigated attacks | Defense in depth |
Quick Reference
脆弱性カテゴリの概要
| Category | Vulnerability Numbers | Key Controls |
|---|---|---|
| Injection | 1-13 | Parameterized queries, input validation, output encoding |
| Authentication | 14-23, 85-86 | MFA, session management, account lockout |
| Data Exposure | 24-27 | Encryption at rest/transit, access controls, DLP |
| Misconfiguration | 28-36 | Secure defaults, hardening, patching |
| XML | 37-39, 65 | Disable external entities, limit expansion |
| Access Control | 40-44 | RBAC, least privilege, authorization checks |
| Deserialization | 45-47 | Avoid untrusted data, integrity validation |
| API Security | 48-51, 75 | OAuth, rate limiting, input validation |
| Communication | 52-55 | TLS 1.2+, certificate validation, HTTPS |
| Client-Side | 56-60 | CSP, X-Frame-Options, safe DOM |
| DoS | 61-65 | Rate limiting, DDoS protection, resource limits |
| SSRF | 66, 87-88 | URL whitelisting, egress filtering |
| Mobile/IoT | 76-84 | Encryption, authentication, secure storage |
| Business Logic | 74, 92-97 | Threat modeling, logic testing |
| Zero-Day | 98-100 | Defense in depth, threat intelligence |
重要なセキュリティヘッダー
Content-Security-Policy: default-src 'self'; script-src 'self'
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: geolocation=(), microphone=()
OWASP Top 10 との対応
| OWASP 2021 | Related Vulnerabilities |
|---|---|
| A01: Broken Access Control | 40-44, 23, 74 |
| A02: Cryptographic Failures | 24-25, 53-55 |
| A03: Injection | 1-13, 37-39 |
| A04: Insecure Design | 74, 92-97 |
| A05: Security Misconfiguration | 26-36 |
| A06: Vulnerable Components | 34, 98-100 |
| A07: Auth Failures | 14-23, 85-86 |
| A08: Data Integrity | 45-47 |
| A09: Logging Failures | 73 |
| A10: SSRF | 66, 87-88 |
制約と制限事項
- 脆弱性の定義は一般的なパターンを表しており、具体的な実装は製品ごとに異なります
- 軽減策は、使用している技術スタックとアーキテクチャに合わせて調整する必要があります
- 新たな脆弱性は絶えず出現するため、このリファレンスは更新する必要があります
- 一部の脆弱性は複数のカテゴリにまたがります(例:IDOR は複数の文脈に現れます)
- 軽減策の有効性は、適切に実装されているかどうかに依存します
- 自動化されたスキャナーでは、すべての脆弱性タイプを検出できるわけではありません(特にビジネスロジックの脆弱性)
トラブルシューティング
一般的な評価時の課題
| Challenge | Solution |
|---|---|
| False positives in scanning | Manual verification, contextual analysis |
| Business logic flaws missed | Manual testing, threat modeling, abuse case analysis |
| Encrypted traffic analysis | Proxy configuration, certificate installation |
| WAF blocking tests | Rate adjustment, IP rotation, payload encoding |
| Session handling issues | Cookie management, authentication state tracking |
| API discovery | Swagger/OpenAPI enumeration, traffic analysis |
脆弱性検証の手法
| Vulnerability Type | Verification Approach |
|---|---|
| Injection | Payload testing with encoded variants |
| XSS | Alert boxes, cookie access, DOM inspection |
| CSRF | Cross-origin form submission testing |
| SSRF | Out-of-band DNS/HTTP callbacks |
| XXE | External entity with controlled server |
| Access Control | Horizontal/vertical privilege testing |
| Authentication | Credential rotation, session analysis |
参考資料
- OWASP Top 10 Web Application Security Risks
- CWE/SANS Top 25 Most Dangerous Software Errors
- OWASP Testing Guide
- OWASP Application Security Verification Standard (ASVS)
- NIST Cybersecurity Framework
- Source: Kumar MS - Top 100 Web Vulnerabilities