質問

クロスサイトリクエストフォージェリ(CSRF)攻撃について、Cookieが最もよく使用される認証方法である場合、Webブラウザーが別のドメインから生成されたページから特定のドメイン(およびそのドメイン)のCookieの送信を許可するのはなぜですか?

このような動作を禁止することで、CSRFはブラウザーで簡単に防止できませんか?

私が知る限り、この種のセキュリティチェックはWebブラウザーには実装されていませんが、その理由はわかりません。何かおかしくなったのですか?

CSRFについて:

編集:上記の場合、HTTP POSTでCookieを送信しないでください。それが私を驚かせるブラウザの動作です。

役に立ちましたか?

解決

ブラウザがCookieを送信しないのはなぜですか?

サイトA( http://www.sitea.com )は、ユーザーのCookieを設定します。

ユーザーはサイトBに移動します( http://www.siteb.com )。サイトBはサイトAとの統合を特徴としています-ここをクリックしてサイトAで何かをしてください!ユーザーが<!> quot; here <!> quot;をクリックします。

ブラウザが知る限り、ユーザーはサイトAへのリクエストを行うことを意識的に決定しているため、サイトAへのリクエストを処理するのと同じ方法で処理します。サイトAへのリクエスト。


編集:ここでの主な問題は、認証Cookieと他のCookieに区別があると思うことです。 Cookieは、ユーザー設定、前回のハイスコア、セッショントークンなど、あらゆるものを保存するために使用できます。ブラウザは、各Cookieが何に使用されているのかわかりません。 Cookieを設定するサイトで常にCookieを使用したいため、必要な予防措置を講じていることを確認したいサイトです。

または、yahooで<!> quot; gmail <!> quot;を検索し、 http://mail.google.com にログインする必要はありません。ログインしたままGmailに指示した場合でも別のサイトからのリンクですか?

他のヒント

ブラウザが外部ドメインとの間でCookieを送信しているのではなく、ユーザーが認証されており、サイトがリクエストのソースを検証していないため、リクエストのように処理しますサイトから来ました。

ブラウザがそれを許可しないかどうかについては、クロスサイトリクエストが望ましい多くの状況についてはどうですか?

編集:明確にするために、Cookieはドメイン間で送信されません。

XSRF攻撃のポイントは、ブラウザをアプリケーションの別のポイントに誘導することであるため、ブラウザがそのような状況でできることは多くありません。残念ながら、ブラウザは送信するリクエストが悪意のあるものかどうかわかりません。たとえば、XSRFの古典的な例を考えると:

<img src="http://domain.com/do_something_bad" />

ブラウザには、何か悪いことが起こっていることは明らかではありません。結局のところ、それとこれの違いを知るのはどうですか:

<img src="http://domain.com/show_picture_if_authenticated" />

多くの古いプロトコルには大きなセキュリティホールがあります。最近発見されたを思い出してください。 DNSの脆弱性。基本的にすべてのネットワークセキュリティと同様に、エンドポイントの責任です。ええ、これを自分で修正する必要があるのは残念ですが、ブラウザレベルで修正するのははるかに困難です。明らかなものがいくつかあります(<!> lt; img src = <!> quot; logoff.php <!> quot; <!> gt;いまいましい魚のようですね)? (たぶん、PHPファイル内のGDスクリプトです。)AJAXクエリはどうですか?など...

サイトのCookieが別のサイトに送信されることはありません。実際、CSRF攻撃を成功させるために、攻撃者はこれらのCookieにアクセスする必要はありません。

基本的に、攻撃者は、ターゲットWebサイトにすでにログインしているユーザーをだまして、リンクをクリックするか、そのユーザーの資格情報でターゲットサイトで何かを行う画像をロードします。

つまり、ユーザーがアクションを実行しており、攻撃者はユーザーをだまして実行させています。

ブラウザでできることはたくさんあるとは思わないと言う人もいます。

こちらをご覧ください:

http://people.mozilla。 org /〜bsterne / content-security-policy / origin-header-proposal.html

これは、CSRF攻撃の緩和に役立つ新しいHTTPヘッダーの提案の概要です。

提案されたヘッダー名は<!> quot; Origin <!> quot;です。基本的には<!> quot; Referer <!> quot;ヘッダーからパスを除いたものなど。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top