クロスサイトリクエストフォージェリ(CSRF)の概要および防衛

CRSFは何ですか

アドレスの構築は、例えば、ブログサイトのブログへのリンクを削除し、ユーザーが悪質なリンクのサイトのクリックにログオンした説得することで、自分の手を介してユーザーを引き起こす可能性があり、これまで知らずにサイトのブログで公開されますケースを削除します。これは、クロスサイトリクエストフォージェリと呼ばれる被害者の損失CSRF-攻撃の手を装って、悪質なリンクを構築します。

ブラウザのクッキーポリシー

クッキーの分類

クッキー、クッキーはセッションクッキーであるマークセッションCookie(セッションクッキー)、firefooxの有効期限を設定していない、2の有効期限を設定有無に応じたメモリ空間に格納されているクッキー、ブラウザプロセスのライフサイクルを分類彼らは有効ですが、近くにブラウザが消去されました。もう一つは、有効期限は、ローカルに保存され、また、地元のクッキーとして知られている、サードパーティクッキーと呼ばれている有効期限に使用することができます設定します。

原則CSRF

一般ユーザの操作がログインした後である必要があり、CSRFは、ユーザーが独自の悪質なWebサイトにブログサイトを削除する要求を送信できるように、ユーザーのログインCookieを使用することです。たとえば、ユーザーは、サイトに加えて画像リンクでハッカーは、リンクが実際にブログサイトを削除する要求を送信しているリンクハッカーのサイトをクリックしてみましょう:


恶意网站
 
<html>
 
<p>这是黑客诱导客户访问的恶意网站地址</p>
 
<img src = "http://csdn.com?delete=10">
 
</html>

また、ユーザは、時間が言った前にCSDN、同一生成元ポリシーについての話をログに記録した後にクッキーを使用する必要があり、これを達成するために、IMGのiframeが。そうCSDNにリクエストを送信する際に、同一生成元ポリシーの影響を受けていないラベルのように、CSDNます関連のクッキーまでに提出することになっている操作でユーザーと間違え認証Cookieた後、ユーザーが実際に無意識の中にあなたの記事を削除したCSDNので、(クッキークッキーは、スコープによって決定する必要が提出されます)。

クッキーリクエストを送信する際に、古いバージョンすなわち、サファリは、IMG、IFRAMEタグが禁止されているが、最新のFirefoxやChromeと他の主流のブラウザは許可されています。

古いバージョンすなわちらのためにあなたが地元のクッキーを送信する場合は、に戻る必要がブラウザのHTTPヘッダはP3P部位を含む、セッションクッキーを送信することが許可され、クッキーは、次の訪問ように、ローカル時間を送ることができます。

元ポリシーは限りリクエストがブラウザを作っているように、ブラウザに実装されており、クロスドメインの元ポリシーは、未満を使用するように!


練習

私は、彼のブログでget要求(ブログの親指要求)を見つける:
ここに画像を挿入説明
あなたが背景にクッキー検証要求の束と親指を見ることができるマップからの、そして今私は新しいインターフェイス、imgタグのクロスドメインアクセス要求とのインタフェースを書きます(CSDNはログイン、またはクッキーの検証を取得していないされている場合)。

地元のリクエストにアクセスするために開始します。

ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
上記のローカルインターフェイスは本当にために、対応するサービスが成功するはずですように、着陸場の検証を含める必要がありCSDNの一部を搭載したアクセス要求CSDNクッキーのものである、と私はブログを読んで次のことが本当に好き1つの以上の点をご確認ください。


CSRFの防衛

プログラムコード

動作させるためには、顧客と対話するための説得力の必要性。顧客あればケーキと方法の知識がなくてもCSRF攻撃で完了します

オプションIIリファラーチェック

最も一般的なアプリケーションが判断することができる大規模な範囲になるようリファラは、攻撃者のサイトのアドレスであることを、要求が合理的である場合、攻撃者のWebサイトからブログにアクセスするには、このような埋め込まれたアドレスなど、要求のソースを見ることで、写真Daolianリファラーチェックを防ぐためですこれは、CSRF攻撃ですが、この方法の欠点は、次のとおりです。サーバーは常にリファラー情報を考慮していません。

オプション3つの建設予測不可能性のURL

CSRF攻撃が成功することができます要求されたURLが予測できない場合、リクエストURLの攻撃の性質を推測するので、それがある、攻撃者は起動しません。今、最も一般的な方法は、URL内のトークンのパラメータに参加することです。クッキーは、ユーザーのトークンに存在することができる、クライアントに対応したサーバートークン値もあります。CSRF攻撃はちょうどログインクッキー、クッキーを使用して特定の値を取得することはできませんので(ユーザーでない限り、また、クッキーの漏れが生じ、攻撃をXSS、それは目的を達成しません)。

トークンは、である限り、サーバー・セッションが使用されていないように(つまり、ユーザがフォームを送信しない、これはセッションが使用されているかどうかを決定するためにプログラムを提供するサーバを必要とする)、サーバ・セッション、時間の有効期間にフォームを提出すると同時に、配置されるべきです同じトークン、トークンを再生成するためにそれ以外の必要性を使用して、フォームやセッションを保存します。

また、リファラが取得しているため、機密性のトークンは、POST、AJAXを避けるの形で送信されたフォームまたはフォームに敏感GETの操作により、可能な限りの形で、URLに表示されるべきではないことに留意すべきですトークンリーク。

シナリオ4:SameSiteクッキー、CSRF攻撃を防ぎます

CSRF攻撃を防ぐための措置は、CSRFトークンのRefererリクエストヘッダのチェックサム検証を持っています。ソースでこの問題を解決するために、GoogleはHTTPプロトコルを改善するための案を策定し、クッキーを示すために使用されるのSet-Cookieレスポンス・ヘッダーSameSite新しいプロパティは、駅だけクッキーで、「ステーションとクッキー」であるために、それはありますファーストパーティのCookieとしてではなく、サードパーティのクッキーなど。SameSiteは、それぞれ、2つの属性値を持っている厳格なとラックス
https://www.cnblogs.com/ziyunfei/p/5637945.html

おすすめ

転載: www.cnblogs.com/both-eyes/p/10926561.html
おすすめ