web-dev-qa-db-ja.com

別のサイトにリダイレクトすることは安全ですか?

https://example.com/testにウェブサイトがあるとします。誰かがこのサイトにアクセスするときはいつでも、単にhttps://example.com/Testにリダイレクトするだけです。

ここに潜在的な脆弱性はありますか?または、私がしているのは、ある保護されたサイトから別のサイトにリダイレクトするだけなので、この方法は安全ですか?

10
alex067

/testおよび/Testはどちらもexample.comでホストされています…ドメインリダイレクトではなく単なるページリダイレクトです…これは問題ではありません.

たとえば、HTTPからHTTPSへのリダイレクトは、現時点ではほとんど業界標準です。

29

正しく実装されているため、これに関する問題はありません。

注意すべき点が2つあります(ここではtestは静的ではないとユーザーが指定しているため、すべてのパスを大文字にするなど)。

  • オープンリダイレクト:リダイレクトが正しく実装されていない場合、攻撃者がドメインの外部にリダイレクトし、フィッシング攻撃に使用される可能性があります。
  • CSRF:CSRF保護が単純なリファラーチェック(これは推奨されません)のみであり、状態変更GET要求(これも推奨されません)がある場合、それらの実装によっては、これらが悪用される可能性があります。リダイレクトメカニズム
17
tim

ユーザーを別のページまたはドメインにリダイレクトすることは、多くの開発者が従う通常の慣行です(FBを含むMNC、fb.comがfacebook.comにリダイレクトします)。安全な方法でリクエストをリダイレクトしようとしても、害はありません。

あなたがチェックしたいかもしれません 未検証のリダイレクトとフォワードのためのOWASPチートシート (オープンリダイレクトとも呼ばれます)。このドキュメントは、複数のプログラミング言語でURLをリダイレクトする安全な方法を提供します。

8
Suraj

hostnameが同じで、ユーザーが信頼している限り。それは問題ではないはずです。

この種類のリダイレクトはインターネット全体で一般的であり、ユーザーエクスペリエンスの向上に役立ちます。

例えば:

https://testwebsite.com/Testにリソースがありますが、タイプミスや開発者のミスにより、https://testwebsite.com/testと表記されています。リダイレクトは、404 file not foundエラーまたはInternal server errorを表示する代わりに、ユーザーが適切なファイルを表示するのに役立ちます。

0
apoorv kapil