文章源自【字节脉搏社区】-字节脉搏实验室
作者-Beginners
0x01 浅谈Url跳转漏洞
第一步,Url跳转漏洞是怎么产生的:
由于越来越多的需要和其他第三方应用交互,以及在自身应用内部根据不同的逻辑将用户引向到不同的页面,譬如一个典型的登录接口就经常需要在认证成功之后将用户引导到登录之前的页面,整个过程中如果实现不好就可能导致一些安全问题,该漏洞像XSS一样有多种绕过方式,防御过程中也常出现意想不到的情况,特定条件下可能引起严重的安全漏洞。
0x02 Url跳转漏洞的危害:
1.常被用黑产利用进行钓鱼、诈骗等目的。
2.突破常见的基于“白名单方式”的一些安全限制。
3.通过跳转收集数据之后再进一步挖掘更深层的漏洞。
0x03 Url跳转漏洞常见出现点:
1.用户登录、统一身份认证处,认证完后会跳转。
2.用户分享、收藏内容过后,会跳转。
3.跨站点认证、授权后,会跳转。
4.站内点击其它网址链接时,会跳转。
0x04 Url跳转漏洞常见的参数名:
url=
login=
redirect_to=
qurl=
logout=
data=
ext=
clickurl=
jump_to=
next=
to=
goto=
callback_url=
jump=
jump_url=
return=
click?u=
originUrl=
Redirect=
sp_url=
service=
redirect_url=
redirect=
rit_url=
forward_url=
callback=
forward=
success=
recurl=
j?url=
uri=
u=
allinurl=
q=
link=
src=
tc?src=
linkAddress=
location=
go=
pic=
burl=
request=
backurl=
RedirectUrl=
ReturnUrl=
origin=
Url=
desturl=
page=
u1=
action=
action_url=
target=
linkto=
domain=
dest=
0x05 Url跳转漏洞绕过:
1.利用问号绕过限制:
http://www.aaa.com/?url=http://www.baidu.com?http://login.aaa.com
2.利用@符号绕过限制:
http://www.aaa.com/?url=http://login.aaa.com@www.baidu.com
3.利用#符号绕过限制:
http://www.aaa.com/?url=http://www.baidu.com#login.aaa.com
4.利用/绕过限制:
http://www.aaa.com/?url=http://www.baidu.com/login.aaa.com
5.利用\绕过限制:
http://www.aaa.com/?url=http://www.baidu.com\login.aaa.com
6.利用\\绕过限制:
http://www.aaa.com/?url=http://www.baidu.com\\login.aaa.com
7.利用\.绕过限制:
http://www.aaa.com/?url=http://www.baidu.com\.login.aaa.com
8.利用缺失协议绕过限制:
http://www.aaa.com/?url=/www.baidu.com
http://www.aaa.com/?url=//www.baidu.com
9.利用”.”绕过限制:
http://www.aaa.com/?url=.www.baidu.com
0x06 修复方式
1.我们需要对传入的URL做有效性的验证,保证该URL来自于正确的地方,限制的方式同防止csrf一样可以包括。
2.如果确定传递url参数进入的来源,我们可以通过该方式来实现安全限制,保证该url的有效性,避免恶意用户自己生成跳转链接。