私はまだ偽造トークンがMVCでどのように動作するのか分かりません。 MSDNより。偽造トークンを無効にするためにクッキー値を手動で設定しますか?
偽造防止トークン
CSRF攻撃を防ぐのを助けるために、ASP.NET MVCはまた、要求の検証トークンと呼ばれる、偽造防止トークンを使用しています。
- クライアントは、フォームを含むHTMLページを要求します。
- サーバーには、応答に2つのトークンが含まれています。 1つのトークンがクッキーとして送信されます。もう一方は隠れたフォームフィールドに配置されます。トークンは無作為に生成され、敵対者は値を推測できません。
- クライアントがフォームを送信すると、両方のトークンをサーバーに送り返す必要があります。クライアントはCookieトークンをクッキーとして送信し、フォームデータ内にフォームトークンを送信します。
- 要求に両方のトークンが含まれていない場合、サーバーは要求を許可しません。ここで
隠しフォームトークンを使用してHTMLフォームの例です:
<form action="/Home/Test" method="post">
<input name="__RequestVerificationToken" type="hidden"
value="6fGBtLZmVBZ59oUad1Fr33BuPxANKY9q3Srr5y[...]" />
<input type="submit" value="Submit" />
私の質問は、以来、私たちは、ソースコードを見ることで簡単に隠されたトークン値を見つけることができるということです(どのブラウザでもF12)。次に、開発者ツール(Ctrl-Shift-Jまたはツール - >開発者ツール) - >コンソールを使用してクッキーを手動で設定し、javascriptコマンドを入力できます。
document.cookie = "keyofcookie = valueofcookie" ?
私たちは手動でトークンを設定しているため、偽造防止技術を無効にすることはできますか?
私はクッキーに強くない。では、CookieがHttpOnlyであることをどのように知っていますか? – Bigeyes
あなたのように、私もインターネットでそれを読んでいます。しかし、今、あなたが尋ねたので、実際のマイクロソフトのファイルソースコードへのリンクがあります。ここにオープンソースに関するMSのリンクがあります。 https://blogs.msdn.microsoft.com/japan/exchange/index.aspx HttpOnly trueをチェックしてください。 http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/9a83b63f3f889e3f2c979274fe3e8f7610e06b98#src/System.Web.WebPages/Helpers/AntiXsrf/AntiForgeryTokenStore.cs – Amit