JSON

JSONP安全攻防技术

字号+ 作者:H5之家 来源:H5之家 2016-01-16 13:49 我要评论( )

JSONP是基于JSON格式的为解决跨域请求资源而产生的解决方案。它的基本原理是利用HTML的元素标签,远程调用JSON文件来实现数据传递。本文将梳理JSONP实现过程中的

关于JSONP

JSONP全称是JSON with Padding,是基于JSON格式的为解决跨域请求资源而产生的解决方案。它的基本原理是利用HTML的元素标签,远程调用JSON文件来实现数据传递。如果想在a.com域下获取b.com下的JSON数据(getUsers.JSON):

 

URLdecode为:

+/v8为utf7-BOM,其后为我们注入通过utf-7编码后的XSS代码:

<htm><body><script>alert(1);

</script></body></htm>。

关于这个案例的详情可参考。

利用utf7-BOM是一种非常有代表性的通用方法,除了升级IE进行防御,开发者也可直接指定Content-Type的编码(Content-Type: application/json; charset=utf-8)。然而尽管如此,仍有绕过这些防御措施的可能。

上文提到的a、b两种防御缺一都可能出现问题,那么我们使用“a+b方案”是否就万无一失了呢?一切皆有可能,我们拭目以待。

其他文件格式(Content-Type)与JSON

【MHTML与JSONP】

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JSON与JSONP教程

    JSON与JSONP教程

    2016-01-19 14:51

  • Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

    Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

    2016-01-18 17:28

  • 基于jquery的$.get实现返回解析json数据以及jsonp跨域

    基于jquery的$.get实现返回解析json数据以及jsonp跨域

    2016-01-15 11:09

  • Ajax和WEB服务数据格式:JSON与JSONP

    Ajax和WEB服务数据格式:JSON与JSONP

    2015-11-24 10:56

网友点评
g