CSRF攻撃として主張されているレコード重複の問題に直面しています。
シナリオは、管理者ユーザーがアプリケーションにログインし、レコードを追加すると、データがデータベースに保存されることです。対応する POST リクエストがキャプチャされて再生され、データベースに重複レコードが追加されます。この脆弱性により、攻撃者は再生時にデータベースに「n」個の重複レコードを追加できます。
これは CSRF 攻撃と呼べますか?
いいえ、そうではありません。
POST がキャプチャされている場合は、正当な要求が再度再生されるリプレイ アタックを見ています。
ノンス (ランダム値) をフォームに追加し、POST が完了したときにランダム値が存在することを要求し、ノンスを無効にすることで、リプレイ攻撃を打ち負かすことができます。これは、CSRF 攻撃を阻止するために使用されるのと同じ手法です。
ただし、攻撃者が POST データを読み取ることができる場合、より大きな問題が発生する可能性があります。たとえば、パスワードやその他の機密情報を明らかにする可能性のある管理者認証手順をキャプチャできます。
攻撃を受けていない可能性もあり、重複は [戻る] ボタンの使用またはページのリロードのいずれかが原因である可能性もあります。いずれにせよ、トランザクションの繰り返しを防ぐために何らかの防御策を講じるのが最も安全です。