302跳转导致的url劫持
介绍一个   网站监测工具:iis7网站监测
IIS7网站监控工具可以做到提前预防各类网站劫持,并且是免费在线查询,适用于各大站长,政府网站,学校,公司,医院等网站。它可以做到24小时定时监控,同时它可以让你知道网站是否被黑,被入侵,被改标题,被挂黑链,被劫持,被墙及DNS是否被污染等等功能,更是拥有独家检测网站真实的完全打开时间,让你作为站长能清楚知道自己网站的健康情况!
检测地址:http://wzjk.iis7.net/?cmc使用截图:

主要是免费版本,用着比较方便。
参考大佬的文章:
https://blog.csdn.net/tizhan6691/article/details/79376061?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
https://blog.csdn.net/wst0717/article/details/83275253
https://blog.csdn.net/zhangpeng999123/article/details/105747922?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase
漏洞描述
这个漏洞没有官方确定的名字,有点说 302 跳转漏洞,有点讲是 url 劫持漏洞,也有的讲是 url跳转漏洞,不管怎么说,漏洞的内容都是关于 网页 显示302并且被利用的
关于这个漏洞我没怎么看到有太多的文章,应该是现在这种漏洞不太常见(开发人员安全意识的提升),简单的说就是 网页未对传入的url严格检验
一般多用于钓鱼攻击,重定向个页面让受害者输入用户名密码啥的,然后再跳转回去
要说这种漏洞算 CSRF 吧,它又和SSRF有相似之处,这里就算它另立门户,单独是一种漏洞
漏洞检测
这种漏洞检测方式比较简单,直接修改参数中的合法URL为非法URL,然后查看是否能正常跳转或者响应包是否包含了任意的构造URL。
绕过URL跳转限制
这个是目前这个漏洞需要学习最多的地方。
利用问号绕过限制
比如:http://www.aaa.com/acb?Url=http://login.aaa.com 这是一个跳转链接,跳转到它的二级域名下,那么这个问号放哪里可以绕过呢?其实就是放到它自身的域名前面也就是你添加的想要跳转的域名的后面,如:http://www.aaa.com/acb?Url=http://test.com?login.aaa.com 。那么,它其实是会跳转到这个test.com域名下,这个域名是我想要跳转的任意域名,而后面的它自身域名一定要带上,不带上就无法辅助用问号?这个特性来跳转到指定域名了,而跳转后,问号和问号后面的内容会变为这样:http://www.test.com/?login.aaa.com
利用@绕过URL限制
如果你用这方法在火狐里进行跳转,会有弹窗提示,在其它游览器则没有。
如:http://www.aaa.com/acb?Url=http://login.aaa.com@test.com后面的test.com就是要跳转到的域名,前面的域名都是用来辅助以绕过限制的
利用#号绕过
如:http://www.aaa.com/acb?Url=http://test.com#login.aaa.com
利用白名单缺陷绕过限制
有的域名白名单限制是不全的,比如如果想利用一个跳转,而这个跳转是通用,在这个公司网站很多子域名等都可以跳转,那么你买个域名也不算贵对吧,为什么这么说呢,这个问题就是白名单限制不当,比如,当跳转的域名包含这个网站下的所有域名,比如:http://www.aaa.com/acb?Url=http://login.aaa.com,这个login.aaa.com也可以改成aaa.com同样可以跳转对吧,因为白名单里只要有包含这个域名就直接成功跳转。那么当我在这个域名前面加上如testaaa.com,白名单里会检查是否包含aaa.com这个域名,包含,然后直接跳转,而并没有检查这个域名的整个信息,然后可以利用这个问题,直接注册一个testaaa.com这个域名就可以利用这个跳转。
利用xip.io绕过
请求是http://www.127.0.0.1.xip.io 这个绕过是在SSRF场景中的绕过,比如SSRF你要读取内网地址,一般都做了限制,可以尝试用这方法进行绕过限制,从而访问到内网。
另外一点,URL跳转涉及的安全问题大家常见的就是钓鱼,那么利用这个思路也可达成一个钓鱼问题,如,http://www.qq.com.220.181.57.217.xip.io  当你访问qq这个域名时,其实这个链接已经被解析到后面这个ip地址上了,那么实际访问的就是后面这个IP地址。
点击触发达到绕过URL跳转限制
比如很多登陆页面的地方,其URL是一个跳转的URL,如:http://www.aaa.com/acb?Url=http://test.com。你直接修改了后面为任意URL,但是还是停留在原地,似乎没什么问题,但是,当你输入账号和密码后点击登陆按钮后,就会触发跳转,当然,这个账户和密码不一定要对的,随便都可以,但得视系统而定吧。这个我遇到了很多,比如你修改了域名,然后点击登陆,登陆成功后便可触发跳转,这也是一个比较隐蔽的绕过URL限制的跳转。
多重验证&跳转绕过限制
现在很多网站都有多重验证,比如你登陆账户后会出现另一个验证页面,输入手机验证码进行验证,此时这上面的URL很可能存在任意跳转的问题。
多重跳转的问题导致可绕过URL限制
比如http://www.aaa.com/acb?Url=http://login.aaa.com/acb?url=http://login.aaa.com。当然,还有多重的,这个结构的多重跳转你修改最后面的URL就可以达到任意URL跳转,中间的URL就没必要动了。
未完待续。。。。。
302跳转导致的url劫持的更多相关文章
- PHP 取302跳转后真实 URL 的两种方法
		1 . 第一种,CURL形式[感觉处理略慢,代码偏多] $url = '将跳转的URL'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url) ... 
- 用Java和Nodejs获取http30X跳转后的url
		用Java和Nodejs获取http30X跳转后的url 转 https://calfgz.github.io/blog/2018/05/http-redirect-java-node.html 30 ... 
- 三、nginx301跳转302跳转
		301跳转设置: server { listen 80; server_name downcc.com; rewrite ^/(.*) http://www.downcc.com/$1 permane ... 
- HttpURLConnection碰到连续302跳转的问题的原因及解决方法
		用HttpURLConnection联网的代码: HttpURLConnection conn = null; URL url = new URL("http://10.0.0. ... 
- php curl 请求302跳转页面
		今天对接支付接口,需要获取支付页面,发现支付商那边给的链接会发送302 跳转,最后发现该方法,绝对给力: <?php $url = 'http://auto.jrj.com.cn/'; $ch ... 
- nginx 301 302跳转配置总结
		首先看简单的代码示例,关于nginx 301 302跳转的. 301跳转设置: server { listen 80; server_name 123.com; rewrite ^/(.*) http ... 
- PHP使用CURL获取302跳转后的地址实例
		/*返回一个302地址*/ function curl_post_302($url, $vars) { $ch = curl_init(); curl_setopt($ch ... 
- ctfhub web 前置技能(请求方式、302跳转、Cookie)
		第一题:请求方式 打开环境分析题目发现当前请求方式为GET 查看源码发现需要将请求方式改为CTFHUB就可以 使用bp抓包 发送到repeater模块修改请求方式 即可得到flag 第二题:302跳转 ... 
- asp.net mvc输出自定义404等错误页面,非302跳转。
		朋友问到一个问题,如何输出自定义错误页面,不使用302跳转.当前页面地址不能改变. 还要执行一些代码等,生成一些错误信息,方便用户提交反馈. 500错误,mvc框架已经有现成解决方法: filters ... 
随机推荐
- Fruity Parametric EQ 2使用说明(二)——FL Studio插件教程
			Fruity Parametric EQ 2均衡器,是一款我们在FL Studio制作音乐时经常会用到的插件,它是EQ中的战斗鸡,它不仅有一个高级的 7 波段参数均衡器,还具有声谱分析能力.我们在对很 ... 
- 攻克弹唱第九课(如何运用好G大调和弦)
			在本期文章中,笔者将使用guitar pro7软件与大家分享如何运用好G大调音阶的经验. 众所周知,在我们学习吉他的过程中,先从C大调开始,再以G大调为深入,然后才走过入门的阶段.很多朋友都觉得自己对 ... 
- jQuery 小demo 热点排名
			效果如下: 代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta cha ... 
- linux配置tomcat项目包
			安装配置tomcat 操作系统: centos 7.1 使用模式:命令模式 使用工具:xshell5 .xftp5 注意之前有配置过tomcat需要进行以下4个步骤 1.关闭网管服务 输入命令: 进 ... 
- Java基础教程——UDP编程
			UDP:User Datagram Protocol,用户数据报协议 服务端: import java.net.*; import java.io.*; public class UdpServer ... 
- 05_Content Provider
			Content Provider是内容提供器,与内容(数据)的存取(存储.获取)有关,是Android应用程序的四大组成部分之一,是Android中的跨应用访问数据机制. 数据库在Android当中是 ... 
- go语言之---数组(array)和切片(slice)
			一.数组 1.什么是数组? 1.数组是一系列同一类型数据的集合 2.数组中包含的每个数据被称为数组元素 3.一个数组中包含的元素个数成为数组长度 4.数组的长度是固定的 5.一个数组可以由零个或者多个 ... 
- 学习工具---maven
			写在前面 为什么要用maven? 作为一跨平台的项目管理工具,它有着以下丰富的应用场景: 作为程序员,有相当一部分时间花在编译.运行单元测试.生成文档.打包.部署和发布等不起眼的工作上,而maven将 ... 
- 第15.24节 PyQt(Python+Qt)入门学习:Model/View架构中QTableView的作用及属性详解
			老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在Designer的部件栏Item Views中提供了PyQt和Qt已经实现好的table ... 
- PyQt(Python+Qt)学习随笔: QAbstractItemView的dragDropMode属性
			老猿Python博文目录 老猿Python博客地址 一.概述 dragDropMode属性用于控制视图拖放事件的处理方式,其类型为枚举类型DragDropMode. 二.枚举类型DragDropMod ... 
