2016-09-25 11 views
0

1つのWebアプリケーションには削除ボタンがあります。そのWebアプリケーションをクリックすると、GETリクエストが最初に実行され、トークンキー付きのPOSTフォームが返されます。 はいまたはいいえを選択すると、リソースが削除されます。CSRF攻撃 - 同じページでのGETとPOSTリクエスト

CSRF攻撃に対してこれをどのように達成できますか? iframeに隠された最初のリクエストを送信できますが、2番目のPOSTリクエストを送信するにはそのトークンが必要です。

CORSのためにAjaxが失敗します。

だから、1ページ

  1. 送信GETリクエスト
  2. 解析応答とトークン
  3. はCSRFをトリガするためにトークンをPOSTフォームを送信得る上でも可能です

答えて

0

私はこれがあると思います基本的にはCSRFに対する標準的な保護であり、トークンはページ生成時に生成され(GET)、アプリケーション状態を実際に変更するサブミット時(POST)に検証されます(ケース内のオブジェクトを削除します) 。だから概念的にはそれは私によく見えます。

悪魔は詳細ですが。トークンはどのように生成されますか(どのアルゴリズムやランダムジェネレータが使用され、どれだけのエントロピーがあるか)、どのように検証されますか?それはどこかに保存されていますかステートレスですか?いつ新しいトークンを生成しますか?古いトークンをいつ再利用しますか?これらは、CSRFから保護する際に常に考慮しなければならないいくつかの質問です。

あなたのシナリオには、確認ページに何が行われるかという詳細がすべて含まれているかどうかという点があります。シンプルな "あなたは確かですか?"私は思うあなたのケースでは適切ではないでしょう。

+0

GET後、クライアント側からは何も送信されませんが、応答にはX-CSRFヘッダーに従わないサーバーによって生成されたトークンが含まれます。私はそれをつかんで再送信する必要があります。最初のGETのソースを取得してトークンを見つける必要があります – ahelpyguy

関連する問題