打开测试界面
不安全的URL跳转
发现有四条超链接,依次打开都会进行内容跳转
当我们点击最下面的一个超链接,可以看到url变成了这样
我们对url=i进行参数修改
设置payload为
http://ip:port/vul/urlredirect/urlredirect.php?url=http://www.baidu.com
输入后跳转到如下界面
该漏洞常利用于钓鱼网站的跳转
漏洞防范
理论上讲,url跳转属于CSRF的一种,我们需要对传入的URL做有效性的认证,保证该URL来自于正确的地方,限制的方式同防止csrf一样可以包括:
1. Referer的限制
如果确定传递URL参数进入的来源,我们可以通过该方式实现安全限制,保证该URL的有效性,避免恶意用户自己生成跳转链接
2. 有效性验证Token
我们保证所有生成的链接都是来自于我们可信域的,通过在生成的链接里加入用户不可控的Token对生成的链接进行校验,可以避免用户生成自己的恶意链接从而被利用,但是如果功能本身要求比较开放,可能导致有一定的限制。