ほとんどのアクティビティが金融取引であるため、私は非常に安全と思われるウェブサイトを持っています。このサイトには多くのセキュリティ機構があり、そのうちの1つでは不十分だとは思っていません。アングルアプリからの各リクエストでの偽造トークン
このWebアプリケーションは、AngularJS 1.4とASP.NET MVC 4をベースにしています。角度を使用してシステムにログインした後、コントローラアクションを呼び出して偽造トークンを設定します。以降の要求はすべて同じトークンを持ち、サーバーは各要求に対して同じトークンを検証します。
今問題です。
各リクエストでトークンを変更していないため、ログインしたユーザーはFiddlerまたはChromeの[ネットワーク]タブを探してリクエストを変更するリソースをリクエストするだけでリクエストからのトークンを使用できます。
各リクエストでトークンをリセットする必要がありますか?この種の攻撃を防ぐのに役立つでしょうか?
私の疑問は、ユーザー自身がハッカーであればどうでしょうか?彼はログインして、自分のトークンを使用して、編集された要求でシステムに投稿します。銀行にある別の口座に編集された元帳で資金送金が行われたとします。このような活動を防止するためには、どのような標準的な対策が必要ですか? –
@SanishJoseph私は例として説明したシナリオについて詳しく説明しました。 CSRFは、第三者がユーザーのブラウザに要求を送信させないようにすることを目的としていますが、許可されたユーザーが無効な要求を行うことを妨げるものではありません。これには、サーバー側のビジネスルールとして実装された承認が必要です。 – AaronLS
ありがとうございます。これは私の心の中にあったものです。ユーザーの投稿が有効で、アクセスできるかどうかを確認する必要があります。アカウントのようなものは、DBではなくコアバンキングではありますが、引き続き検証することができます。各サーバーポストは、有効なポストをチェックする必要があります。そのため、私は共通の解決策があると考えました。私はそれを確保する方法を見つけようとします。 –