web-dev-qa-db-ja.com

安全でないページからの安全なjquery ajax呼び出し

明確な答えは見つかりませんでしたが、次のような状況の場合、ページを参照してみましょう http://www.example.com/index.html

次に、このページのフォームを使用して、jqueryのajax関数で次のURLにポストバックします: https://www.example.com/login.aspx (aspxは何でもかまいません、mvc、webforms、php、Rubyなど)。

これは安全ですか?セッション全体が安全ではないことに気づきました。

それともこれは安全ですが、ブラウザはそれについて文句を言うでしょうか?まったく別のドメインを使用する方が安全でしょうか? https://www.example.org/login.aspx

7
Roger Far

いいえ、安全ではなく、別のドメインを使用しても役に立ちません。

攻撃者はhttpページのhtml/javascriptコードを操作して、ajax呼び出しの宛先を自分のサーバーに変更できます。または、2番目の呼び出しを追加します。

9

ブラウザがwww.example.comドメインにアクセスし、index.htmlをブラウザにダウンロードすると、html全体がコンピュータに保存されます。クライアント側に保存されているものは改ざんされる可能性があるため、これは安全ではないと見なされ、ユーザーがwww.example.comに提供したと思われるスクリプトからクライアントが返すデータを信頼できません。

つまり、login.aspxは、送信されるすべてのデータをダーティデータとして扱い、クリーンアップする必要があります。

ドメインを変更してもあまり効果はなく、ブラウザはJavaScriptが別のドメインでフォームをトリガーすることについて不満を言うことはありません。

5
Chris Dale

「SSLストリッピング」のような攻撃は、このようなアプローチがどのように悪用されるかを示す明確な例です。これは脆弱な設計です。

そのような設計を利用するMoxieによる単純なpythonベースのツール: http://www.thoughtcrime.org/software/sslstrip/index.html

1
AbhishekKr