Hacker News

ペンテスター向け CSP: 基本を理解する

侵入テスト用のマスター コンテンツ セキュリティ ポリシー。 CSP の構成ミスを特定し、Web アプリケーションのセキュリティ評価を強化する方法を学びます。

4 最小読み取り

Mewayz Team

Editorial Team

Hacker News

すべてのペンテスターがコンテンツ セキュリティ ポリシーをマスターする必要がある理由

コンテンツ セキュリティ ポリシー (CSP) は、クロスサイト スクリプティング (XSS)、データ インジェクション、クリックジャッキング攻撃に対する最も重要なブラウザ側の防御メカニズムの 1 つとなっています。しかし、侵入テストの取り組みにおいて、CSP ヘッダーは依然として、最も頻繁に誤って構成され、誤解されているセキュリティ制御の 1 つです。 100 万を超える Web サイトを分析した 2024 年の調査では、CSP ヘッダーを導入している Web サイトは 12.8% のみであり、そのうち 94% 近くに悪用される可能性のあるポリシーの弱点が少なくとも 1 つ含まれていることがわかりました。侵入テスターに​​とって、CSP を理解することは必須ではありません。表面レベルの評価と、実際にクライアントのセキュリティ体制を強化するレポートとの違いは異なります。

Web アプリケーションの評価を実施する場合でも、バグ報奨金活動を行う場合でも、機密性の高い顧客データを扱うビジネス プラットフォームにセキュリティを構築する場合でも、CSP の知識は基礎となります。このガイドでは、CSP とは何か、CSP が内部でどのように機能するか、どこで失敗するか、侵入テスターが脆弱なポリシーを体系的に評価して回避する方法について詳しく説明します。

コンテンツ セキュリティ ポリシーの実際の機能

CSP の核心は、HTTP 応答ヘッダー (または、あまり一般的ではありませんが タグ) を介して配信される宣言型のセキュリティ メカニズムです。これは、特定のページでどのコンテンツ ソース (スクリプト、スタイル、画像、フォント、フレームなど) の読み込みと実行を許可するかをブラウザーに指示します。リソースがポリシーに違反すると、ブラウザーはそのリソースをブロックし、オプションで指定されたエンドポイントに違反を報告します。

CSP の背後にある元々の動機は、XSS 攻撃を軽減することでした。入力サニタイズや出力エンコードなどの従来の XSS 防御は効果的ですが脆弱です。コンテキストの欠落やエンコード エラーが 1 つあるだけで、脆弱性が再び持ち込まれる可能性があります。 CSP は多層防御レイヤーを追加します。攻撃者が悪意のあるスクリプト タグを DOM に挿入した場合でも、適切に構成されたポリシーによりブラウザーによるタグの実行が阻止されます。

CSP はホワイトリスト モデルで動作します。既知の不正なコンテンツをブロックしようとするのではなく、明示的に許可されるコンテンツを定義します。それ以外はすべてデフォルトで拒否されます。このセキュリティ モデルの逆転は理論的には強力ですが、実際には、複雑な Web アプリケーション、特に CRM、請求書発行、分析、予約システムなどの多数の統合モジュールを管理するプラットフォーム全体にわたって厳格なポリシーを維持することは、非常に難しいことで知られています。

CSP ヘッダーの構造: ディレクティブとソース

CSP ヘッダーはディレクティブで構成され、それぞれが特定のリソース タイプを制御します。これらのディレクティブを理解することは、ターゲットのポリシーを評価するペンテスターに​​とって不可欠です。最も重要なディレクティブには、default-src (明示的に設定されていないディレクティブのフォールバック)、script-src (JavaScript 実行)、style-src (CSS)、img-src (画像)、connect-src (XHR、Fetch、WebSocket 接続)、frame-src (埋め込み iframe)、および object-src (Flash や Java アプレットなどのプラグイン) が含まれます。

各ディレクティブは、許可される起点を定義する 1 つ以上のソース式を受け入れます。これらは、特定のホスト名 (https://cdn.example.com) からより広範なキーワードまで多岐にわたります。

'self' — ドキュメントと同じオリジンからのリソースを許可します

💡 ご存知でしたか?

Mewayzは8つ以上のビジネスツールを1つのプラットフォームに統合します

CRM・請求・人事・プロジェクト・予約・eCommerce・POS・分析。永久無料プラン提供中。

無料で始める →

'none' — そのタイプのすべてのリソースをブロックします

'unsafe-inline' — インライン スクリプトまたはスタイルを許可します (XSS 保護を効果的に無効化します)。

'unsafe-eval' — eval()、setTimeout(string)、および同様の動的コードの実行を許可します。

'nonce-{random}' — 一致する暗号化ナンスでタグ付けされた特定のインライン スクリプトを許可します

'strict-dynamic' — ホストベースの許可リストを無視し、すでに信頼されているスクリプトによってロードされたスクリプトを信頼します。

data: — データ URI をコンテンツ ソースとして許可します

実際の CSP ヘッダーは次のようになります。 Content-Security-Policy:default-src 'self'; script-src 'self' https://cdn.jsdelivr.net 'nonce-abc123'; style-src 'self' 'unsafe-inline'; img-src *;オブジェクトソースは「なし」です。ペンテスターとしてのあなたの仕事は、このポリシーを読んで、どこが強いか、どこが弱いか、そしてどこが悪用可能かを即座に特定することです。

CSP の一般的な構成ミス

Frequently Asked Questions

What is Content Security Policy (CSP) and why should pentesters care?

Content Security Policy is a browser-side security mechanism that controls which resources a webpage can load, helping prevent XSS, data injection, and clickjacking attacks. Pentesters must understand CSP because it is one of the most frequently misconfigured security controls — studies show nearly 94% of deployed policies contain exploitable weaknesses. Mastering CSP fundamentals allows pentesters to identify critical vulnerabilities that automated scanners often miss entirely.

What are the most common CSP misconfigurations pentesters find?

The most common CSP misconfigurations include using unsafe-inline and unsafe-eval directives, overly permissive wildcard sources, missing frame-ancestors directives that enable clickjacking, and whitelisting entire CDN domains that host attacker-controllable content. Pentesters should also look for missing directives like base-uri and form-action, which can be leveraged for phishing and data exfiltration even when script controls appear strict.

How can businesses protect their web applications with proper CSP headers?

Businesses should start with a strict CSP using nonce-based or hash-based script allowlisting instead of domain whitelists. Deploy in report-only mode first to identify breakages before enforcement. Platforms like Mewayz, a 207-module business OS starting at $19/mo, help teams manage their web presence securely while following modern security best practices across all digital touchpoints.

What tools do pentesters use to evaluate CSP effectiveness?

Pentesters commonly use Google's CSP Evaluator, browser developer tools, and Burp Suite extensions to analyze CSP headers for weaknesses. Manual testing remains essential — automated tools miss context-dependent bypasses like JSONP endpoints and Angular template injection on whitelisted domains. A thorough assessment combines automated scanning with manual review of each directive against known bypass techniques and the application's specific technology stack.

Mewayzを無料で試す

CRM、請求書、プロジェクト、人事などを網羅するオールインワンプラットフォーム。クレジットカードは不要です。

今日からビジネス管理をスマートに始めましょう。

30,000+社の企業が参加しています。永久無料プラン・クレジットカード不要。

これは役に立ちましたか?共有する。

実践に移す準備はできていますか?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

無料トライアル開始 →

行動を起こす準備はできていますか?

今日からMewayz無料トライアルを開始

オールインワンビジネスプラットフォーム。クレジットカード不要。

無料で始める →

14日間無料トライアル · クレジットカード不要 · いつでもキャンセル可能