リダイレクトの目的でユーザーのアプリケーションから受け入れたURLをエスケープする必要がありますか(この質問のようにログインが成功した場合)それ以外のセキュリティ上の脆弱性はありますか?ログイン後のエスケープされていないURLへのリダイレクトのセキュリティへの影響
長い質問(コードレビュー): -
私のWebアプリケーションにFacebookのログインを実装している間(passportjs付き)、私はセッションに戻りURLを設定し、小さなミドルウェア機能については、以下のインプリメンテーションに出会いました。
function checkReturnTo(req, res, next) {
var returnTo = req.query['returnTo'];
if (returnTo) {
req.session.returnTo = querystring.unescape(returnTo);
}
next();
}
上記の 'returnTo' URLをエスケープしないとどうなりますか?
req.session.returnTo = returnTo;
コードはどちらの場合でも正常に動作します。私はGoogleにしようとしましたが、リダイレクトURL経由で特定の攻撃を見つけることができませんでした。私はそれが良い質問をするだろうと思った。