2017-03-13 89 views
1

我們是否需要忽略我們從用戶應用程序接受的用於重定向到的URL(例如,如果登錄成功,就像在此問題中那樣)?他們是否有任何安全漏洞?登錄後重定向到非轉義URL的安全影響

較長的問題(代碼審查): -

雖然在我的web應用程序(與passportjs)實施Facebook登錄,我碰到一個下面的實現來了一個小的中間件功能,設置在會話返回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; 

該代碼在兩種情況下均正常工作。我試圖谷歌,但通過重定向網址找不到任何具體的漏洞。我認爲這會提出一個很好的問題。

回答

1

確實有security issues with unrestricted redirects after login,但是轉義和迴避網址與它們無關。

一般而言,如果您的框架已經正確提取並unescapes URL參數,則不需要再次使用它們(除非,當然,除非出於某種原因,生成登錄URL的代碼雙重轉義重定向URL )。然而,我並不是特別熟悉你所使用的框架,所以我不能確定在這裏是否需要某個人出於某種奇怪的原因。

相關問題