URL跳转漏洞

本文探讨了URL跳转漏洞的原理,常见漏洞位置如用户登录、链接分享等,并提供了多种攻击形式的示例,包括元标签、JavaScript、Header头和超链接。同时,介绍了如何利用小技巧绕过验证,以及针对不同场景的防御策略和代码片段。最后,列举了多种绕过方法和参考资源,帮助读者理解和防护此类安全威胁。
摘要由CSDN通过智能技术生成

URL跳转漏洞

​ 预言 [ T9Sec ](javascript:void(0)😉 2020-01-14 23:50

图片

描述

**URL 跳转漏洞:**攻击者通过传入的URL参数,网站未进行检查或过滤不严,导致跳转到恶意网站

图片

挖掘
常见漏洞位置
  • 用户注册、登录、退出
  • 网站链接、点击跳转
  • 用户分享、收藏内容过后、会跳转
  • 网站报错返回跳转
常见参数
redirect
redirect_to
redirect_url
url
jump
jump_to
target
to
link
linkto
domain
Out
Dout
go
return
returnTo
logout
register
login
returnUrl
path
redirectURI
redir
returl
share
wap
src
source
u
display
sourceURl
imageURL
linkurl
RedirectUrl
service
redirect_uri
destUrl
oauth_callback
oauth
goto

来源于P审的:https://www.yuque.com/pmiaowu/web_security_1/pqqgwg

URL跳转一般实现方式:

  • META 标签跳转
  • Javascript 跳转
  • Header 头跳转
  • 超链接跳转
META 标签跳转
<meta name="test" content="<?php echo $_GET['url'];?>">
http://127.0.0.1/1.php?url=1;http://baidu.com" http-equiv="refresh&fsearch=yes

图片

Javascript 跳转
<script>
    window.location.href="<?php echo $_GET['url'];?>";
</script>
http://127.0.0.1/1.php?url=http://baidu.com

图片

Header 头跳转
<?php
$url = $_GET['url'];
header("Location: $url");
?>
http://127.0.0.1/1.php?url=http://baidu.com

图片

超链接跳转
<a href="<?php echo $_GET['url'];?>">点击返回</a>
http://127.0.0.1/1.php?url=http://baidu.com

图片

遇到过的奇葩跳转

1、校验目录

http://test.com/login/?url=http://baidu.com/login

在挖专属的时候碰到一个校验目录的URL跳转,只要带有 login 就可以绕过

2、需要登录

http://test.com/?url=http://baidu.com

在做项目的时候,发现在登录的情况下会跳转到百度,不登录的情况就会提示 url 参数非法

登录处小技巧

登录:http://test.com/login/?url=http://baidu.com

退出:http://test.com/logout/?url=http://baidu.com

尝试把 login 改为 logout 可能有惊喜哦

白盒一些代码
Java:
response.sendRedirect(request.getParameter("url"));

PHP:
$redirect_url = $_GET['url'];
header("Location: " . $redirect_url);

.NET:
string redirect_url = request.QueryString["url"];
Response.Redirect(redirect_url);

Django:
redirect_url = request.GET.get("url")
HttpResponseRedirect(redirect_url)

Flask:
redirect_url = request.form['url']
redirect(redirect_url)

Rails:
redirect_to params[:url]

来源于:https://ninjia.gitbook.io/secskill/web/url

Bypass
@ 绕过

http://test.com/?url=http://test.com@baidu.com

?绕过

http://test.com/?url=http://baidu.com?test.com

. 绕过

http://test.com/?url=http://test.com.baidu.com

# 绕过

http://test.com/?url=http://baidu.com#test.com

hpp 绕过

http://test.com/?url=http://test.com&url=http://baidu.com

进制 绕过

http://test.com/?url=http://664552783

IP转换:https://ip.911cha.com/baidu.com.html

......
参考:

https://www.yuque.com/pmiaowu/web_security_1/pqqgwg

https://ninjia.gitbook.io/secskill/web/url

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值