この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 32621|答える: 2

[セキュリティ脆弱性] 「Content-Security-Policy」ヘッダーに欠落または不安全な脆弱性

[リンクをコピー]
掲載地 2021/06/11 10:36:39 | | | |
HTTPレスポンスヘッダーのContent-Security-Policyは、ユーザーエージェントが特定のページに対してどのリソースを読み込むかをサイトが制御できるようにします。 特別なケースを除き、ポリシーセットは主にサーバーのソースおよびスクリプトのエンドポイントを指定することにあります。 これにより、クロスサイトスクリプティング攻撃の防止に役立ちます

ドキュメンテーション:ハイパーリンクのログインが見えます。

この記事では、W3Cのコンテンツセキュリティポリシー(略してCSP)について説明します。 名前が示す通り、この仕様はコンテンツセキュリティに関連しており、主にページが読み込み可能なリソースを定義し、XSSの発生を減らすために使われます。

初期のChromeはX-WebKit-CSPレスポンスヘッダーを通じてCSPをサポートし、FirefoxやIEはX-Content-Security-Policyをサポートし、Chrome25とFirefox23は標準のContent-Security-Policyをサポートし始めました。

ユーザー名、パスワード、マシン名、機密ファイル位置などのウェブアプリケーションに関する機密情報が収集されることがあります
初心者のユーザーは、ユーザー名、パスワード、クレジットカード番号、社会保障番号などの機密情報を提供するよう説得されることがあります


まず、MVC ASP.NET 新しいプロジェクトを作成し、新しいjsスクリプトを作成し、Baidu統計のjsコードを動的に読み込みます。以下の通りです。




上の図に示すように、サードパーティ(Baidu)に成功裏に導入されたJSスクリプトコードが、クッキーの盗難、コンテンツの改変、リンクのジャンプなど悪意のあるコードが含まれている場合に確認できます。

安全でないサードパーティ製JSスクリプトの導入をどうやって止められますか?

回避策

レスポンスヘッド「Content-Security-Policy」を追加してください例えば:

Content-Security-Policy: default-src 'self' ハイパーリンクのログインが見えます。;
                         connect-src 「なし」;
Content-Security-Policy: connect-src ハイパーリンクのログインが見えます。
                         スクリプト-SRCハイパーリンクのログインが見えます。

指令
命令値の例
説明
デフォルト-src
『自己』cnd.a.com
すべてのリソース(JS、IMAGE、CSS、WEB FONT、AJAX リクエスト、iframe、マルチメディアなど)に対してデフォルトの読み込みポリシーを定義し、別途定義されたポリシーがない場合は特定のリソースタイプにデフォルトを適用してください。
スクリプト-SRC
『自己』js.a.com
JavaScriptの読み込みポリシーを定義してください。
スタイル-SRC
『自己』css.a.com
スタイルのロードポリシーを定義してください。
IMG-SRC
「自己」img.a.com
画像の読み込みポリシーを定義してください。
Connect-SRC
「自己」
AjaxやWebSocketsなどからのリクエストに対する読み込みポリシーについて。 許可されない場合は、ブラウザはステータス400の応答をシミュレートします。
font-src
font.a.com
WebFontの読み込みポリシー。
オブジェクト-SRC
「自己」
<object><embed> <applet> Flashなどのプラグインのロードポリシーが、タグ( 、 など)に対して導入されました。
メディア-SRC
media.a.com
<audio> <video> HTMLマルチメディアのタグ(または)に導入された読み込み戦略。
フレーム-src
「自己」
フレームの読み込みポリシーについて。
サンドボックス
許可形式
要求されたリソースに対してサンドボックス(iframeのサンドボックスプロパティに似たもの)を有効にします。
レポート-URI
/report-uri
ポリシーで許可されていないリソースが許可されていない場合は、どのアドレスにログ情報を提出すべきかブラウザに伝えてください。 特別:ブラウザがログのみを報告し、何もブロックしない場合は、代わりにContent-Security-Policy-Report-Onlyヘッダーを使用できます。

プロジェクトのweb.configファイルを改変して、以下のようにカスタムレスポンスヘッダーを追加しましょう。

以下のようにプロジェクトを再実行します:



ブラウザはサードパーティ製のjsスクリプトの読み込みを成功裏にブロックしました:

スクリプト「https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319」の読み込みを拒否しました。なぜなら、以下のコンテンツセキュリティポリシー指令に違反しているからです:「script-src 'self' http://localhost:56888/ 「 「script-src-elem」は明示的に設定されていないため、「script-src」はフォールバックとして使われます。
(終わり)




先の:ASP.NET MVC HttpApplication 実行順序
次に:人気ブラウザのUser-Agent百科事典をまとめると
掲載地 2021/12/17 22:38:43 |
学べ!!!!!!!!!!!!!!
掲載地 2022/10/18 17:16:34 |
長い間探して少しずつ学びました
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com