web-dev-qa-db-ja.com

window.history.back()は安全に使用できますか?

私はWebアプリケーションで侵入テストを行っており、前のページに戻るためにwindow.history.back()を使用しています。これは安全ですか?

たとえば、google.comにアクセスしてWebアプリケーションにアクセスし、次に戻ると、google.comが再び表示されます。同様に、攻撃者が何らかの方法でこれをiframeでシミュレートした場合(ウィンドウの履歴に保存されている場合)、ユーザーがURLにアクセスした場合(無意味です)、または何らかのキャッシュメカニズムを変更した可能性があります。これを悪用する実際の方法は何ですか?

これは実際の問題ですか、それとも私は考えすぎですか?

4
Anderson

Windows.history Mozillaウェブサイト について読むことができます。簡単に説明すると、history.back()はブラウザの[戻る]ボタンをクリックすることと同じです。windows.history.backについて考えすぎていると思いますが、window.historyオブジェクトについてではありません。それ自体!
詳細に説明すると、トピックの外になりますが、window.history.pushState()またはwindow.history.replaceState()メソッドのほうが心配する価値があるとすぐに主張できます。ブラウザの履歴操作が可能です。以下についても確認できます。 ブラウザの履歴を操作する

3
Pilfility

ページにwindow.history.back()のリンクがある場合、ユーザーがWebアプリケーション内のリンクに置いた信頼を悪用する攻撃にさらされる可能性があります。オープンリダイレクトの形式が可能です。ユーザーがWebアプリケーションにリダイレクトする攻撃者のサイトにアクセスすると、バックリンクが攻撃者のサイトに到達し、フィッシングページが表示される可能性があります。

したがって、ユーザーはアプリケーション内のすべてのリンクが信頼できると信頼するかもしれませんが、リンクは実際には別のサイトに到達する可能性があります。被害者は最初に攻撃者のサイトにアクセスし、信頼できるWebアプリケーションにアクセスしていることを確信し、信頼できるアプリケーションを離れていることに気付かずに戻るボタンをクリックする必要があるため、実際のフィッシング攻撃は困難です。

1
Sjoerd