任意URL跳转漏洞详解

要教会 阅读:1124 2025-07-27 09:50:10 评论:0

任意URL跳转漏洞简介

服务端未对传入的跳转url变量进行检查和控制,导致可恶意构造任意一个恶意地址,诱导用户跳转到恶意网站。由于是从可信的站点跳转出去的,用户会比较信任,所以跳转漏洞一般用于钓鱼攻击,通过转到恶意网站欺骗用户输入用户名和密码盗取用户信息,或欺骗用户进行金钱交易。

URL跳转漏洞也叫开放重定向,如下面的格式的url

https://08571.com/login?return=https://yaojiaohui.net/

漏洞危害

URL跳转漏洞本身属于低危漏洞,但可以结合其他漏洞加以深入利用,主要的利用方式不仅限于钓鱼攻击,包括:

xss漏洞:通过javascript:alert(0)或CRLF;

获取用户权限(伪造钓鱼网站、窃取登录凭证token);

绕过检测(窃取CSRF token,绕过SSRF、RCE黑名单);

高级利用方法(配合其他功能/漏洞)。

实战案例

登录后重定向泄露会话令牌

redirect_url参数未经任何过滤,在登录后界面,请求链接:

https://08571.com/login?redirect_url=https://yaojiaohui.net,页面会被重定向到:

https://www.yaojiaohui.net/?user=xxx&token=xxxx&channel=mijnwerkenbijdefensie

导致用户ID和会话令牌泄露,从而接管整个账号。

Tips:关注登录后的登录请求url。

挖掘技巧

在实际渗透过程中,可以在抓包历史中搜索返回状态码为302的请求包,业务层面,根据之前的挖掘经验,大多数的跳转漏洞都发生在登录功能处,其他存在漏洞的功能处有:注册、注销、改密,第三方应用交互,页面切换,业务完成跳转、返回上级、账号切换、保存设置、下载文件等等。

总体来讲,要观察哪些功能需要进行跳转,并关注任何涉及跳转操作的URL,常见的参数值有return、redirect、url、jump、goto、target、link、callback等,输入任意URL地址看是否可以任意跳转,若后台进行过滤,探测过滤算法,尝试过滤绕过。

过滤绕过

假设跳转链接http://www.08571.com?url=http://yaojiaohui.net

其中http://test.com为正常跳转链接

恶意钓鱼链接为fishing-08571.com,ip地址为192.168.1.1

@符号绕过

http://www.08571.com?url=http://yaojiaohui.net@fishing-08571.com

问号绕过

http://www.08571.com?url=http://fishing-08571.com?yaojiaohui.net

# 绕过

http://www.08571.com?url=http://fishing-08571.com#yaojiaohui.net

 正反斜杠绕过

http://www.08571.com?url=http://fishing-08571.com/yaojiaohui.net

http://www.08571.com?url=http://fishing-08571.com\yaojiaohui.net

http://www.08571.com?url=http://fishing-08571.com\\yaojiaohui.net

http://www.08571.com?url=http://fishing-08571.com\.yaojiaohui.net

白名单

部分网站对跳转做了内容检测,比如白名单允许包含fish字符的链接通过,那么我们就能找包含fish的链接就行跳转。

http://www.08571.com?url=http://fishing-08571.com

多重跳转

例如 网站存在跳转http://www.08571.com?url=http://yaojiaohui.net,但是限制仅限于08571.com,那么我们为了达到目的可以先跳转到08571.com,在跳转到fishing-08571.com

http://www.08571.com?url=http://yaojiaohui.net?url=fishing-08571.com

功能触发跳转

某些时候在修改链接后加载没反应,可能需要触发某功能来进行跳转,比如登录,删除等,具体看跳抓链接处于那个功能点。

xip.io绕过

http://www.08571.com?url=http://yaojiaohui.net.192.168.1.1.xip.io

协议绕过

删除或切换http和https,或者增加多个斜杠

http://www.08571.com?url=//fishing-08571.com#yaojiaohui.net

http://www.08571.com?url=///fishing-08571.com#yaojiaohui.net

xss跳转

xss情况比较多,根据实际情况而定


防御手段

1、最有效的方法之一就是使用白名单严格控制将要跳转的域名,如:

function checkURL ( sURL) {

return(/^(https?:\/\/)?[\w-.]+.(yourDomainA|yourDomainB|yourDomainC).com($|\/|\)/i).test(sUrl)||(/^[\w][\w\/.-_%]+$/i).test(sUrl)||(/^[\/\][^\/\]/i).test(sUrl)? true : false;}

2、限制referer、添加token,这样可以避免恶意用户构造跳转链接进行散播;

打赏 支付宝打赏 微信打赏

本文为要教会原创,欢迎转载分享。转载时请务必在文章页面明显位置提供本文链接并注明出处。感谢您对知识的尊重和对本文的肯定!本文链接网址:https://yaojiaohui.net/wangluoanquan/1598.html

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容