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


成为高级黑客必须了解的,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" 。
还有可以关注我们微信公众号 , 在公众号上输入安界网 , 就可以关注到我们 , 领取资料和优惠券!!




推荐阅读