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

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

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

回答

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

ブラウザの履歴の操作

回答

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

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

コメント

  • 興味深い考え。有効なシナリオは、'戻る

リンクなど。ユーザーは攻撃者の'サイトに戻るだけなので、攻撃者はこれらのページに安全にリンクできます。ユーザーがヘルプページでドメインをチェックすると、すべてがチェックアウトされます。ただし、これらのページはまれであり(特に、より最新のWebデザインの場合)、リスクは非常に低いようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です