您当前的位置:首页 > 电脑百科 > 安全防护 > 黑客技术

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

时间:2020-02-16 18:33:23  来源:  作者:

那么我们今天就来了解一下cors跨域和jsonp劫持漏洞

同源策略

为什么还要讲一遍同源策略,我们之前写xss的时候有讲到过,不了解的同学可以看看我们的那篇xss文章,那么该策略是浏览器的一个安全基石,如果没有同源策略,那么,你打开了一个合法的网站,又打开了一个恶意网站,恶意网站的脚本能够随意的操作合法网站的任意可操作资源,没有任何限制。

cors(跨域资源共享)

CORS(Cross Origin Resource Sharing),跨域资源共享,为了弥补JSONP等跨域常见技术的缺陷,而提出的安全方便的跨域方案。它允许浏览器想跨域服务器,发出XMLHttpRequest请求,从而克服AJAX只能同源使用的限制。

CORS需要浏览器和服务器同时支持,相比JSONP更加复杂,但是一般目前的浏览器都是支持的,服务器只需要进行相应配置,其通信过程都是浏览器自动完成,对于开发人员来说,跟写AJAX的代码没有区别,只是会在发送跨域请求时在HTTP请求头中添加一些字段来验证,关键字段如下:

1、Access-Control-Allow-Origin:指定哪些域可以访问域资源。例如,如果requester.com想要访问provider.com的资源,那么开发人员可以使用此标头安全地授予requester.com对provider.com资源的访问权限。

2、Access-Control-Allow-Credentials:指定浏览器是否将使用请求发送cookie。仅当allow-credentials标头设置为true时,才会发送Cookie。

3、Access-Control-Allow-Methods:指定可以使用哪些HTTP请求方法(GET,PUT,DELETE等)来访问资源。此标头允许开发人员通过在requester.com请求访问provider.com的资源时,指定哪些方法有效来进一步增强安全性。

CORS实现流程

1、服务器配置支持CORS,默认认可所有域都可以访问

2、浏览器客户端把所在的域填充到Origin发送跨域请求

3、服务器根据资源权限配置,在响应头中添加ccess-Control-Allow-Origin Header,返回结果

4、浏览器比较服务器返回的Access-Control-Allow-Origin Header和请求域的Origin,如果当前域获得授权,则将结果返回给页面

怎么判断是否存在cors跨域。

请求投存在origin参数且可控(不存在可自行添加不影响结果)

响应头存在下面两个:1、Access-Control-Allow-Orighin:指定哪些域可以访问域资源,2、Access-Control-Allow-Credentials:指定浏览器是否存将使用请求发送cookie,仅当allow-credentials标头设置为true时,才会发送cookie

Access-Control-Allow-Methods:PUT,GET,POST //请求方式

靶机是这样的,然后我们开启burp监听,刷新这个靶机抓取数据包,比如说我们在测试网站的时候,抓到数据包

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

那我们就访问该网页抓请求包

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

将其发送到repeater模块,并且点击go,可以看见它这里返回了一些信息,就是我们上面所说的一些信息。

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

返回包看见这两个的时候,可以去测一下这个跨域攻击。怎么测呢??

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

那我们添加Origin:http://www.baidu.com这样一条参数,看它是否可控,那么执行之后,我们返回包原本是星号,添加了这一条参数后,就变成了百度的域名

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

Cors跨域攻击有什么用???可以获取一个用户的铭感信息,如果能获取到敏感信息,那么它就是个高危了,可以看见我们的靶机,那么我们就可以确定了他这里存在跨域攻击

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

利用的话,就用这个cors的利用靶机。那我们就选择get,然后生成poc利用的包

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

这里它就是一个响应的数据

Cors和jsonp都是csrf系统里面的一种,是读取型的

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

Jsonp劫持

先了解一下什么是JSONP:

JSONP是一种跨域请求资源的解决方案,JSONP可以绕过AJAX遵循的同源策略。

更容易理解的解释就是:利用"script标签可以跨域请求,并且把返回的结果当作js来执行"的特点来获取第三方的资源

判断的条件,第一个是跟域没有关系,然后它返回的数据要是一个json的数据并且要有能被调用的回调函数,像这种就是一个json的数据

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

allback:

其实callback很好理解,同样是为了更好的使用第三方数据,第三方允许"请求方"使用自定义的callback名称,可以看到我们的靶场这里,可以看见它的参数,有个callback的参数,它的值就是可以调用的,那回调函数是什么?我们常见的话,就是callback参数的,还有一个jsonpcallback的参数就叫回调函数

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

什么叫可控呢?安全问题:

当攻击者知道返回资源的地址时,且资源中存在隐私信息。是不是可以构造攻击页面,诱导用户访问并获取用户隐私呢?

怎么说呢...

用户在访问qq.com时页面会生成对应的Cookie,当访问子域game.qq.com/user?callback=blabla 时页面将返回game.qq.com下的用户信息

攻击者构造了攻击页面http://www.attack.com/phishing 当用户访问时将会执行攻击页面中的js,恶意的js创建了script标签,并以用户的名义加载game.qq.com/user?callback=blabla

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

在参数的值输入a,它这里就输出了一个a,输入之后,它这个页面能发送改变,这个就是它的参数可控参数就是会被,然后回调调用,然后可控。可控之后,就是满足了我们判断他这个地方是否存在jsonp劫持的条件,跟域名没关系,返回的也是json数据

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

还是利用刚才的那个poc环境,我们输入靶机的漏洞地址,下面输入回调参数的值

成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 


成为高级黑客必须了解的,cors跨域和jsonp劫持漏洞

 

防护建议:1、验证http referer头信息,2、在请求中添加csrfToken并在后端进行验证。

最后喜欢我文章的朋友请加圈子关注我们,私信关键词:加群。(送免费资料和优惠券)

就会自动分享给你群号。欢迎大家加入我们的安全大家庭。提高大家的安全意识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。

还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们,领取资料和优惠券!!



Tags:jsonp劫持   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
那么我们今天就来了解一下cors跨域和jsonp劫持漏洞同源策略为什么还要讲一遍同源策略,我们之前写xss的时候有讲到过,不了解的同学可以看看我们的那篇xss文章,那么该策略是浏览...【详细内容】
2020-02-16  Tags: jsonp劫持  点击:(421)  评论:(0)  加入收藏
▌简易百科推荐
一、背景介绍作为一名渗透测试工作人员(或者小白),在我们的日常工作或者学习中,我们不可能时时刻刻将自己的个人电脑(安装好Kali Linux的个人主机)带在身边,当我们没有带自己的个人...【详细内容】
2021-12-27  Kali与编程    Tags:Kali Linux   点击:(3)  评论:(0)  加入收藏
我们都知道公司网络中开放的端口越多,遭受网络攻击的可能性就越大,就越容易发生数据泄露事件。 在这篇文章中,我们将讨论与开放端口相关的网络安全隐患。 网络中的端口 据统计...【详细内容】
2021-12-10  诺必达云服务    Tags:端口扫描   点击:(33)  评论:(0)  加入收藏
一、背景介绍DirBuster是用来探测web服务器上的目录和隐藏文件的。因为DirBuster是采用java编写的,所以运行前要安装上java的环境。 来看一下基本的使用: ①:TargetURL下输入要...【详细内容】
2021-12-07  Kali与编程    Tags:Dirbuster   点击:(28)  评论:(0)  加入收藏
#本文仅用于网络安全研究学习任何未经授权的入侵都是违法行为dir 浏览 创建文件 echo 文件内容 > 文件名字.扩展名 浏览文件内容 type 文件名 分页浏...【详细内容】
2021-12-07  WHOAMI    Tags:黑客   点击:(22)  评论:(0)  加入收藏
上一节中我们学了如何实现ARP断网攻击,本节中我们将利用ARP欺骗的原理实现截取目标计算机图片流量,内容包括:ü如何开启ip转发ü怎样截取受害机图片流量 一、开启ip转...【详细内容】
2021-11-23  Kali与编程    Tags:黑客   点击:(23)  评论:(0)  加入收藏
一、背景介绍大家在Linux的日常使用中都晓得如何通过命令行去配置Linux的端口开放规则,但是大家知道如何配置Windows入站出站规则吗?有哪些常见的危险端口呢?如何解决上述问题...【详细内容】
2021-11-15  Kali与编程    Tags:端口   点击:(39)  评论:(0)  加入收藏
1.背景介绍几乎每一个玩渗透的人都会接触到metasploit framework,简称msf。这是一个渗透测试框架,用ruby语言编写的,该框架集成了很多可用的exploit,比如著名的ms08_067等。你可...【详细内容】
2021-11-15  Kali与编程    Tags:服务扫描   点击:(37)  评论:(0)  加入收藏
在前面的课程中,我们学习了ARP攻击的理论和实践知识,知道了怎么进行攻击,这节中我们将学习如何进行防御,内容包括:ü借助第三方软件防御(360安全卫士,腾讯管家等)ü使用arp...【详细内容】
2021-11-13  Kali与编程    Tags:白帽   点击:(32)  评论:(0)  加入收藏
简介在sqlmap基础上增加了目录扫描、hash爆破等功能运行环境 linux 在云服务器上还是蛮不错的项目连接如下https://github.com/s0md3v/sqlmat usage: sqlmate [-h] [--dor...【详细内容】
2021-11-10  暗网视界    Tags:sqlmate   点击:(44)  评论:(0)  加入收藏
一、背景介绍在网上冲浪少不了用到搜索引擎,而很多朋友都习惯把Google视为第一个选择对象。当然Google无论在搜索速度还是结果关联性方面都是十分优秀的。但百度(http://www.b...【详细内容】
2021-11-05  Kali与编程    Tags:白帽黑客   点击:(31)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条