クリックジャッキングに対する保護メカニズムとしてコンテンツセキュリティポリシー(CSP)を使用することに疑問があります。
サーバーで稼働中の入力フィールドで指定されたURLをロードするボタンを配置するWebページに、オンラインの概念実証(PoC)を作成しました。このPoCは、サイトが脆弱かどうかをテストするためのものであり、それに基づいて、クリックジャッキング攻撃を防ぐためにCSPを使用しているサイトをテストしました。オンラインのPoCの結果から、フレームを作成することができないため、サイトは脆弱ではないことがわかりますが、OWASPサイトで提供されている静的テンプレートを使用してテストを繰り返すと、コンテンツを確認できます要素内のウェブページの。
そのため、このサイトは依然として脆弱である可能性があると思います。私はあなたの意見を知りたいと思います。
静的PoCを使用するとCSPがヘッダーで返されないことに気付きましたが、これはサイトの脆弱性を引き起こすプログラミングのエラーだと思いますか?
誰かがこれを以前に経験したことがありますか?
「静的PoC」はディスクからロードされた静的ファイルなので、明らかにHTTPサーバーは関与していません。これは、データの提供にHTTPプロトコルが関与していないため、CSPヘッダーが設定されている場所にHTTPヘッダーが存在しないことを意味します。つまり、テストでCSPポリシーが宣言されていないため、CSPの静的PoCはCSPのテストではありません。また、CSPポリシーが宣言されていないと、何も適用されません。
サーバーなし、HTTPヘッダーなし。したがって、本質的には適用されるCSPはありません。実際のサーバーにPOCを投げます。ローカルディスクからファイルを提供しているようです。
CSPがIframeを使用してクリックジャッキングを防止するためには、CSPポリシーは許可されたサイトのリストであるframe-ancestors
ポリシーディレクティブを設定する必要があります。
サイトがこのエラーを返している場合、デベロッパーコンソールに表示されるのは次のとおりです。
「祖先が次のコンテンツセキュリティポリシーディレクティブに違反しているため、フレームに「 http://www.target.site 」を表示することは拒否されました:「frame-ancestors 'self' ... ...」 。