如何挖掘泄漏用户隐私的敏感jsonp接口漏洞

信息安全 126 Views 0 Comments [ 编辑 ]
相关的介绍就不细细道来了,其实原理也就是JSONP实际上是使用script方式获取Javascript代码,进而执行,因此可以在我们自己的页面中,使用JSONP获取数据,并使用Javascript Hook的方式,让其执行我们自定义的回调函数,获取敏感信息。
 
可参阅:
利用JSONP进行水坑攻击 http://www.vuln.cn/6773  
利用JSONP劫持可以泄漏QQ号 http://wooyun.jozxing.cc/static/bugs/wooyun-2014-065177.html
这样的接口需要满足的条件:
(1)使用JSONP获取数据;
(2)未检测 referer或者验证了 referer,但是验证方式不严谨,如需要验证的 referer 为 www.xxx.com 域,但是 www.xxx.com.mydomain.com 同样能够绕过;
(3)GET请求中不包含token相关的参数
 
如何挖掘这样的接口呢?我们可以使用Fiddler、burpsuite或者F12等方法去一个个检查,但这样岂不是要累死人了……
更轻松的方式:自动化测试工具Selenium + Proxy + 验证脚本
(1)Selenium:可用于自动化对网页进行测试,“到处”点击按钮、超链接,以期待测试更多的接口;
(2)Proxy:用于代理所有的请求,过滤出所有包含敏感信息的JSONP请求,并记录下HTTP请求;
(3)验证脚本:使用上述的HTTP请求,剔除referer字段,再次发出请求,测试返回结果中,是否仍包敏感信息,如果有敏感信息,说明这个接口就是我们要找的!
 
测试:
使用脚本进行测试,我以sina为例,首先需要登录sina帐号,微博或者博客都可以,然后开启浏览器代理,运行我们的脚本,最后浏览网页,就能检测出这样的JSONP接口了
至此发现该JSONP接口,简单写两句JS代码放到我们的网站上:
很快就可以收到大波的用户信息了:
相关的代码放到了Github上:https://github.com/qiaofei32/jsonp_info_leak

如未说明则本站原创,转载请注明出处:NULL » 如何挖掘泄漏用户隐私的敏感jsonp接口漏洞

joe发表我的评论
取消评论
表情