渗透测试学习17:JSON安全问题

同源策略

同源策略规定:不同域的客⼾端脚本在没有授权的情况下,不能读写对方的资源。
即:一个浏览器打开多个页面,这几个页面只能读取自己的数据。

同域:相同域名,端口相同,协议相同,缺⼀不可。

跨域

AJAX

Asynchronous JavaScript AND XML,全称是异步的Javascript和XML。是指⼀种创建交互式、快速动态 ⽹⻚应⽤的⽹⻚开发技术,⽆需重新加载整个⽹⻚的情况下,能够更新部分⽹⻚的技术。XML是说数据传输 的格式是XML,但其实返回的数据还有可能是JSON(⽬前已经成为主流),⽂本,HTML等。
AJAX虽然好用,但是他没法获取跨域数据。

可以跨域的标签

<scriptsrc="..."></script> 
<imgsrc="..."> 
<videosrc="..."></video> 
<audiosrc="..."></audio> 
<embedsrc="..."> 
<framesrc="..."> 
<iframesrc="..."></iframe> 
<linkrel="stylesheet"href="..."> 
........

可以使用这些标签来跨域请求远程资源,但 是,这些标签是负责执行JS的,但是AJAX返回的是JSON数据,不符合JS语法,所以我们只有想办法整一个回调函数,这里我们就要用到JSONP了。

JSONP

JSONP 全称是 JSON with Padding ,是基于 JSON 格式的为解决跨域请求资源而产⽣的解决⽅案。他实 现的基本原理是利用了HTML里<script></script>标签,远程调⽤JSON⽂件来实现数据传递。

JSONP过滤不当可能会造成反射型XSS导致信息泄露:
网站B对网站A的JSONP请求没有过滤时,B对A直接返回数据。B存在JSONP漏洞。
在这里插入图片描述

挖掘思路

  • 找JSONP接口
    site:target.cominurl:?callback=
  • 在请求(F12)中寻找JSONP接口
  • 工具生成payload测试

JSON注入

类似与sql注入,只是注入到JSON数据格式里去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值