首页 >> 大全

URL重定向(URL跳转)绕过

2023-09-03 大全 32 作者:考证青年

利用姿势

1.正常在测试网站时候,当发现url中存在以下参数,可以进行url跳转测试

redirect、redirect_to、redirect_url
jump、jump_to、target、domain
url、src、to、link、linkto

2.当没有任何限制时


$url=$_GET['url'];
header("Location: $url");
?>

可以直接拼接上我们要跳转的网址

www.xxx.com/admin.php?url=http://www.baidu.com

3.当存在限制时

这个限制一般是限制只能跳转本网的网址或规定的网址

比如开头的网址


$url=$_GET['url'];
if(preg_match(/^www\.xxx\.com/,$url)){header("Location: $url");
}else{echo "error";
}
?>

这样则只能跳转到开头的网址。

但这里存在几个url构造利用,能跳转到baidu

www.xxx.com:80@baidu.com
www.xxx.com:80@baidu.com:80
www.xxx.com#@baidu.com
www.xxx.com @baidu.com
www.xxx.com @baidu.com:80
www.xxx.com\www.baidu.com
www.xxx.com\\www.baidu.com
www.xxx.com?www.baidu.com
www.xxx.com#www.baidu.com

这有篇非常详细的url原理讲解

主要是在网址构造之间对特殊符号FUZZ测试进行自由组合

“;”, “/”, “”, “=”, “&”, “?”, “:”, “@”,"."

修复

1 .限制

是字段,当浏览器向服务器发送请求时,通常会带上,服务器判断是从哪个页面转过来的,然后限制将能保证跳转URL的有效性,避免攻击者生成自己的恶意跳转链接;

2.加入有效性验证Token

token验证能有效阻断很多漏洞的利用,保证所有生成的链接都来可信任的网址,在生成的链接

加入随机不可控的Token,然后对生成的链接进行校验。

最近想做一个公众号,分享我的博客笔记和实战经验

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了