首页 > 技术文章 > JSONP

unixcs 2019-05-04 20:38 原文

 

#0x00  

写在前面:
今天听表哥讲bypass CSRF 前面还顺风顺水的 but后面涉及到 JSONP 和 Cors 突然就大写的蒙蔽了
that上课没听懂怎么办????,当然要课下花时间去补!!!     那么let‘s go.

 

 

 

 

 

#0X01 JSONP

 

什么是JSONP?

 

JSONP 全称是 JSON with Padding ,是基于 JSON 格式的为解决跨域请求资源而产生的解决方案。

实现的基本原理:利用了 HTML 里 <script></script> 元素标签,远程调用 JSON 文件来实现数据传递。

 

JSONP  在调用时会用到   callback 函数 //     回调函数!!  (圈起来划重点)

 

 

 

 

跨域请求资源

刚才提到的jsonp是为了跨域请求资源而产生的,那么什么是跨域请求资源呢?   

这里不得不介绍一下另外一个新名词:同源策略       

同源策略

 同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。

举个栗子

a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的

 

 

同源策略的几个关键点! 

同源是指:域名,协议,端口相同

现在所有支持 JavaScript  的浏览器都会使用这个策略

 

总结 : 非同源即跨域;     

      跨域的方式:jsonp,CORS

 

 

 

 

 

 

 

 


 

 

 

讲了半天终于进入主题了,what is jsonp 劫持?

 

JSONP劫持⭐

JSON 劫持又为“ JSON Hijacking ”       可归属于 CSRF 攻击范畴

 

1. 那么jsonp劫持可以用来干嘛呢??(目的)

-获取敏感数据。 

web应用会把一些敏感数据以json的形式返回到前端

 

2. jsonp劫持是怎样的一个过程呢??

首先让受害者以登陆的状态  点击  攻击者提前构造好的恶意的 JSONP 调用页面

推荐阅读