URL跳转漏洞

0x00:使用场景

现在 Web 登录很多都接入了QQ、微信、新浪等第三方登录,以 QQ 第三方授权登录为例说明,在我们调用 QQ 授权服务器进行授权时,会在参数中传入redirect_url(重定向)地址,告知 QQ 授权服务器,授权成功之后页面跳转到这个地址,然后进行站点登录操作。但是如果你的重定向地址在传输过程中被篡改成了一个钓鱼网址,那么就是导致用户的授权信息被非法获取。当然,QQ 第三方登录,也会有自己的策略,就是接入 QQ 第三方登录的应用,会在开发者平台,配置相关的跳转白名单,只有属于白名单中的域名、子域名或 url ,QQ授权服务器才跳转,如果发现 redirect_url 不合法,则跳转到非法页面。

漏洞通常发生在以下几个地方:

1. 用户登录、统一身份认证处,认证完后会跳转

2. 用户分享、收藏内容过后,会跳转

3. 跨站点认证、授权后,会跳转

4. 站内点击其它网址链接时,会跳转


0x01:利用方法

利用反斜杠绕过限制

如:http://www.qwe.com/?Url=http://login.qwe.com/

同样是在它本身域名前加上正斜杠,然后正斜杠前面跟上你想跳转的域名地址

如:http://www.qwe.com/acb?Url=http://test.com/login.qwe.com

利用反斜杠绕过限制

如:http://www.qwe.com/acb?Url=http://login.qwe.com/

同样是在它本身域名钱加上两个反斜杠,然后一个反斜杠前面跟上你想跳转的域名地址

如:http://www.qwe.com/acb?Url=http://test.com\login.qwe.com

同样是在它本身域名钱加上两个反斜杠,然后两个反斜杠前面跟上你想跳转的域名地址

如:http://www.qwe.com/acb?Url=http://test.com\\login.qwe.com

一个反斜杠一个点 利用.这样的格式,也就是一个反斜杠加一个点来跳过限制

如:http://www.qwe.com/acb?Url=http://test.com\.login.qwe.com

利用@绕过URL限制

如:http://www.qwe.com/acb?Url=http://login.qwe.com@test.com

后面的test.com就是要跳转到的域名,前面的域名都是用来辅助以绕过限制的

利用#号绕过

如:http://www.qwe.com/acb?Url=http://test.com#login.aaa.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容