网站登录后的转向地址不做判断是否存在隐患?

2013 年 4 月 25 日
 andybest
站点上有一个页面提供了转向:
response.sendRedirect(url);

url参数由get方式从URL里取得:
http://mydomain.com/redirect.php?url=xxx

xxx原则上只能限于本站(mydomain.com)上的URL转向,但一直以来我都未在这里做判断
也就是用户可以随意输入任何URL实现自由转向(判断了URL格式,所以不会存在XSS)

在我能想到的问题里,最多是用户利用这个“漏洞”隐藏自己的referrer,其他似乎没问题

但是我看其他的站,比如QQ,163邮箱这些,有转向的地方都做了判断,不会是随便输什么URL都可以转

到底这个地方会存在什么问题?是否需要判断转向地址呢?
2344 次点击
所在节点    问与答
1 条回复
revlis7
2013 年 4 月 25 日
有被别人利用欺诈的隐患,比如:

别人从你站点拷贝一个登陆地址,然后篡改登陆后的跳转地址:http://example.com/login?url=www.hack.com

用户登录后,就可能会误导用户以为www.hack.com依然是在访问你的站点,然后提交一些敏感信息。

其他可能的问题暂时没有想到。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/66948

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX